在GtkTreeView上键入Ctrl-F
可以弹出一个可以插入搜索词的弹出窗口。
我想禁用此弹出窗口,因为我想将Ctrl-F
用于其他目的。
此外,显示的数据量非常大,因此在弹出窗口中输入内容会冻结整个应用程序几秒钟。
This没有回答这个问题,因为gtk_tree_view_set_enable_search()
的文档声明:
Note that even if this is FALSE, the user can still
initiate a search using the “start- interactive-search” key binding.
我尝试了以下操作而没有任何明显的效果:
gtk_treeview_set_enable_search(false)
gtk_treeview_set_search_column(-1)
start-interactive-search
并返回True
以进行"处理!"。我正在使用Gtk + -3.12。
任何提示?
答案 0 :(得分:1)
解决了它。
使用gtk_binding_entry_remove()
取消绑定TreeView上的Ctrl-F
,或者使用
以下内容:
css_provider = Gtk.CssProvider()
css_provider.load_from_data("""
@binding-set unbind_search { unbind "<Control>f"; }
GtkTreeView { gtk-key-bindings: unbind_search; }
""".encode('utf-8'))
context = Gtk.StyleContext()
context.add_provider_for_screen(
Gdk.Screen.get_default(), css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER
)