繁体   English   中英

在pygtk / glade中处理删除事件

[英]Handling delete event in pygtk/glade

我在Glade中设计了一个GUI,在后台使用python / gtk。我想处理delete event并显示“您确定吗?”消息对话框。我一直在尝试处理delete和destroy事件,但是失败这样做吗?

#!/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()

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

您必须返回True ,才能停止删除事件在on_erro回调中的传播,如"delete-event"文档中所述。 在您当前的代码中,回调函数未按函数要求返回任何布尔值,我猜这是返回False (请检查on_window_delete_event回调函数的签名,返回类型为boolean)
希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM