捕获 gtk.Window 内任意位置的点击
考虑以下 python 代码:
import gtk
class MainWindow():
def __init__(self):
self.window = gtk.Window()
self.window.show()
if __name__ == "__main__":
main = MainWindow()
gtk.main()
我需要捕获此 gtk.Window() 内任何位置的点击。 我还没有找到任何合适的事件(我也尝试过 button-press-event
,但它不起作用),我错过了什么?
谢谢你!
consider the following python code:
import gtk
class MainWindow():
def __init__(self):
self.window = gtk.Window()
self.window.show()
if __name__ == "__main__":
main = MainWindow()
gtk.main()
I'd need to catch clicks anywhere inside this gtk.Window().
I haven't found any suitable event (I also tried button-press-event
, but it doesn't work), what am I missing?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以将
gtk.EventBox
打包到窗口中。一般来说,每当您在捕获事件时遇到问题时,请检查 gtk.EventBox 是否可以解决这些问题。但请注意,如果小部件自行处理事件,则小部件层次结构向上的事件传播将停止。例如,
gtk.Button
的父级不会收到来自它的点击事件。You can pack a
gtk.EventBox
into the window. In general, whenever you have troubles catching events, check ifgtk.EventBox
solves them.Note, however, that event propagation upwards the widget hierarchy will stop if a widget handles event itself. For instance, a parent of
gtk.Button
won't receive click events from it.所以我在窗口中有这个绘图区域。单击后,我得到回调
过滤左按钮或右按钮:
So i have this DrawingArea in Window. And on click i get the callback
Filter the left or right button: