我在Gtk::EventBox
中有一个非常大的Gtk::ScrolledWindow
我grab_focus()
时Gtk::EventBox
,{。}}
Gtk::ScrolledWindow
滚动到Gtk::EventBox
的顶部。
如何禁用此行为?
答案 0 :(得分:1)
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);
}