gpt4 book ai didi

python - 在 gtk.Window 内的任何地方捕捉点击

转载 作者:太空宇宙 更新时间:2023-11-03 15:28:32 25 4
gpt4 key购买 nike

考虑以下 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,但它不起作用),我错过了什么?

谢谢!

最佳答案

您可以将一个gtk.EventBox 打包到窗口中。通常,每当您在捕获事件时遇到问题,请检查 gtk.EventBox 是否解决了这些问题。

import gtk

class MainWindow():
def __init__(self):
self.window = gtk.Window()
self.box = gtk.EventBox ()
self.window.add (self.box)
self.box.add (gtk.Label ('some text'))
self.window.show_all()

import sys
self.box.connect ('button-press-event',
lambda widget, event:
sys.stdout.write ('%s // %s\n' % (widget, event)))

if __name__ == "__main__":
main = MainWindow()
gtk.main()

但是请注意,如果小部件自己处理事件,则事件向上传播小部件层次结构将停止。例如,gtk.Button 的父级不会从它接收点击事件。

关于python - 在 gtk.Window 内的任何地方捕捉点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3076965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com