我的
Gtk::EventBox
里有一个非常大的 Gtk::ScrolledWindow
。grab_focus()
做Gtk::EventBox
时,Gtk::ScrolledWindow
滚动到 Gtk::EventBox
的顶部。
如何禁用此行为?
Gtk::EventBox
不继承 Gtk::Scrollable
Gtk::Viewport
Gtk::ScrolledWindow
时。
要禁用滚动到焦点子项,您需要更改
focus_hadjustment
/focus_vadjustment
//Disable scroll to focused child
auto viewport = dynamic_cast<Gtk::Viewport*>(m_scrolled.get_child());
if (viewport) {
auto dummy_adj = Gtk::Adjustment::create(0,0,0);
viewport->set_focus_hadjustment(dummy_adj);
viewport->set_focus_vadjustment(dummy_adj);
}