首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用GTK将按键事件发送到非活动条目

如何使用GTK将按键事件发送到非活动条目
EN

Stack Overflow用户
提问于 2019-03-30 05:20:34
回答 2查看 369关注 0票数 1

我有一个包含两个元素的GTK窗口,一个用作搜索输入的条目和一个显示搜索结果的ListBox。当ListBox具有焦点时(例如,用户使用箭头键进行导航),我希望将他们按下的任何字符键引导到搜索输入条目,而不是ListBox。

如果有任何关于重定向某些GTK事件的目标或任何其他方式来处理这种情况的建议,我将不胜感激。我正在使用gtk-rs,但我想任何语言的GTK解决方案都足以让我继续下去。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2019-04-05 22:07:33

哦,这是一个棘手的问题。您可以修补小部件的事件掩码,并向小部件添加事件处理程序(请参阅https://developer.gnome.org/gtk3/stable/GtkWidget.html#gtk-widget-add-events

不过,自定义事件处理程序可能是一条陡峭的学习曲线。

票数 0
EN

Stack Overflow用户

发布于 2020-10-28 03:47:57

这正是我在这里要做的:https://github.com/jimmykarily/fuzzygui/blob/7ddb72ad712e7afa5bfcb2d06b435b74caeb8140/main.go#L88

(实际上整个图形用户界面就是你所描述的,如果你真的在尝试实现同样的工具,我也不会感到惊讶:D )。

你所要做的基本上就是连接到主窗口上的事件,并确保你“抓住焦点”在应该处理该事件的元素上。如果是箭头键,则将焦点放在列表框上。如果是其他东西,你可以把注意力放在词条上。我使用GrabFocusWithoutSelecting作为条目,因为GrabFocus在调用它时删除了条目中的文本。

我也以不同的方式处理了"Return“和"Escape”,你可能会发现这也很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55425615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档