我在滚动窗口下方有一个 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;
}