gpt4 book ai didi

python - 在 pygtk/glade 中处理删除事件

转载 作者:行者123 更新时间:2023-11-28 22:57:07 24 4
gpt4 key购买 nike

我有一个在 glade 中设计的 GUI,在后台使用 python/gtk。我想处理 delete 事件 并显示“Are you sure?”-消息对话框。我一直在尝试处理删除和销毁事件,但没有成功。有什么灯吗?

#!/usr/bin/python
import .... stuff




class App:
def __init__(self):


self.gladefile = 'test.glade'
windowname = 'window'# This must match the window name in glade
self.wTree = gtk.glade.XML(self.gladefile, windowname)# object for acessing widgets


dic={
# Also need to set project2's signal tab
'on_window_delete_event':self.on_erro,
'on_window_destroy_event':self.on_erro,
}

self.wTree.signal_autoconnect (dic)
self.op=self.wTree.get_widget('window')
self.op.show()

def on_erro(self,widget,*args):

print 'hello'






app = App()
gtk.main()

此代码打开一个简单的窗口。单击关闭按钮时,它打印 hello 并退出。(我希望窗口保持打开状态)

最佳答案

您必须返回 True 才能停止在回调 on_erro 中传播 delete 事件,如 documentation for "delete-event" 中所述.在您当前的代码中,回调没有返回函数所需的任何 bool 值,我猜它正在返回 False (请检查 on_window_delete_event 回调函数的签名,返回类型是 bool 值)
希望这对您有所帮助!

关于python - 在 pygtk/glade 中处理删除事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14660074/

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