c - 如何在 Gtk 3.24.5 中使用箭头键滚动 ScrolledWindow?
问题描述
我在滚动窗口下方有一个 gtk 条目,它具有默认焦点,左右键在条目中移动光标,我能够捕捉向上和向下箭头键的按键事件,但不知道如何滚动滚动的窗口,引用了许多网站,其中没有一个是清晰的,也没有部分解释。
以下是我浏览的一些页面: https ://mail.gnome.org/archives/gtk-devel-list/2002-February/msg00104.html
https://developer.gnome.org/gtkmm-tutorial/stable/sec-keyboardevents-overview.html.en
尝试使用 gtk_scrolled_window_set_vadjustment() 无法正常工作。官方页面说 GTK_SCROLL_STEP_UP 已被弃用,但没有说明应该使用什么。
每个答案将不胜感激。谢谢
bool MethodSelect::cb_MPWindowKeyPress(GtkWidget *wgt, GdkEventKey *event, MethodSelect *ms)
{
if(event->keyval == GDK_KEY_Up || event->keyval == GDK_KEY_Down)
{
// METH_SEL_INFO_DEBUG("%s",gdk_keyval_name (event->keyval));
g_signal_emit_by_name(ms->ScrolledWindow, "scroll-child",(event->keyval == GDK_KEY_Up)?GTK_SCROLL_STEP_UP:GTK_SCROLL_STEP_DOWN);
//The above line works in gtk 3.14.5 but crashes the app in 3.24.5
return TRUE;
}
return FALSE;
}
解决方案
推荐阅读
- git - 在 fork 存储库中测试拉取请求
- c++ - 为什么 std::function 不适用于函数模板?
- perl - Perl LWP::Simple 从 Ubuntu 服务器失败,但不是本地机器
- reactjs - 如何在Material UI芯片中删除图标之前增加边距?
- java - org.springframework.beans.factory.BeanCreationException:创建名为“personService”的bean时出错
- shopify - Shopify Google 表单/日历预订
- kotlin - 从字节数组格式的视频文件中获取音量
- flutter - 如何手动将 .xcframework 添加到 Flutter iOS 插件?
- c++ - 从基类访问静态数组时出现段错误
- sql - Sql 基于多行的选择,如 GraphQL