gtk - 如何检测 GtkComboBox 中的鼠标点击?

标签 gtk mouse mouseevent

全部, 在 GTK+ 中有一个名为 GtkComboBox 的小部件。我不知道实现细节,但在 Windows 上它由 2 个小部件组成:文本控件和列表控件。文本控件右侧还有一个小按钮。如果单击该按钮,则会弹出列表控件。

我的问题是:如何检测 GtkComboBox 中那个按钮上的鼠标点击?这样的点击是否会发出可以捕获的信号,或者它只是将弹出信号发送到 GtkComboBox 小部件并吃掉鼠标点击?

顺便说一句,它也是 GTK+ 中的复合小部件吗?

任何语言的例子都会很有帮助。

谢谢。

最佳答案

GtkComboBox 实际上确实“吞噬了鼠标点击”,我认为在不修改 GtkComboBox 小部件或子类化 GtkComboBox 小部件的情况下获得您正在寻找的行为将非常棘手。我不会依赖 GtkComboBox 是否是复合小部件 - 这似乎是一个可以更改的实现细节。

如果您真的想捕获组合框上的鼠标点击,那么您似乎是在逆流而上 - 毕竟,用户可以通过其他方式使用小部件(例如,通过键盘)。 The GtkComboBox emits a changed signal whenever the selection changes - could you use that in your application?

关于gtk - 如何检测 GtkComboBox 中的鼠标点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145741/

相关文章:

firefox - 如何在Debian服务器上运行Firefox

c++ - 在Linux上将CEF3与wxWidgets(和GTK)结合使用

c - GTK信号什么时候发出

javascript - overflow hidden 时检测用户滚动尝试

JAVA - 单击鼠标时获取鼠标位置

JavaFX : Cannot find Symbol MouseEvent

c - 如何使用开罗和 Gtk3 在 GtkDrawingArea 中绘制一条线

Java鼠标位置

c++ - "mouse_event"函数 - 将光标发送到(稍微)错误的坐标

actionscript-3 - 过滤器问题: sprite does not dispatch MouseEvents anymore