全部, 在 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/