BingoLove
deepin
2013-09-09 03:53 quittb.connect("clicked", lambda w, e: gtk.main_quit())
这样应该可以
这样应该可以
Reply Like 0 View the author
quittb.connect("clicked", lambda w, e: gtk.main_quit())
这样应该可以
问题描述:当我在自定义的控件中添加回调函数gtk.main_quit来关闭窗口时,界面就直接死掉了。只能通过再自定义一个函数,如delete_event,再在里面通过调用self.destroy()函数来关闭窗口呢?
请各位大侠帮忙解答一下,谢谢啦!具体代码如下
Copy the Code
- # -*- coding: utf-8 -*-
- import gtk
- class PyApp(gtk.Window):
- def delete_event(self,widget,data=None):
- print "Close window"
- self.destroy()
- def __init__(self):
- super(PyApp,self).__init__()
- self.set_title("Toolbar")
- self.set_size_request(250,200)
- self.modify_bg(gtk.STATE_NORMAL,gtk.gdk.Color(6400,6400,6440))
- self.set_position(gtk.WIN_POS_CENTER)
- toolbar=gtk.Toolbar()
- toolbar.set_style(gtk.TOOLBAR_ICONS)
- newtb=gtk.ToolButton(gtk.STOCK_NEW)
- opentb=gtk.ToolButton(gtk.STOCK_OPEN)
- savetb=gtk.ToolButton(gtk.STOCK_SAVE)
- sep=gtk.SeparatorToolItem()
- quittb=gtk.ToolButton(gtk.STOCK_QUIT)
- toolbar.insert(newtb,0)
- toolbar.insert(opentb,1)
- toolbar.insert(savetb,2)
- toolbar.insert(sep,3)
- toolbar.insert(quittb,4)
- quittb.connect("clicked",self.delete_event)
- #为什么在这里使用quittb.connect("clicked",gtk.main_quit)时,界面就死掉了?
- vbox=gtk.VBox(False,2)
- vbox.pack_start(toolbar,False,False,0)
- self.add(vbox)
- self.connect("destroy",gtk.main_quit)
- self.show_all()
- PyApp()
- gtk.main()
[quote]问题描述:当我在自定义的控件中添加回调函数gtk.main_quit来关闭窗口时,界面就直接死掉了。只能通过再自定义一个函数,如delete_event,再在里面通过调用self.destroy()函数来关闭窗口呢?
请各位大侠帮忙解答一下,谢谢啦!具体代码如下
Copy the Code
- # -*- coding: utf-8 -*-
- import gtk
- class PyApp(gtk.Window):
- def delete_event(self,widget,data=None):
- print "Close window"
- self.destroy()
- def __init__(self):
- super(PyApp,self).__init__()
- self.set_title("Toolbar")
- self.set_size_request(250,200)
- self.modify_bg(gtk.STATE_NORMAL,gtk.gdk.Color(6400,6400,6440))
- self.set_position(gtk.WIN_POS_CENTER)
- toolbar=gtk.Toolbar()
- toolbar.set_style(gtk.TOOLBAR_ICONS)
- newtb=gtk.ToolButton(gtk.STOCK_NEW)
- opentb=gtk.ToolButton(gtk.STOCK_OPEN)
- savetb=gtk.ToolButton(gtk.STOCK_SAVE)
- sep=gtk.SeparatorToolItem()
- quittb=gtk.ToolButton(gtk.STOCK_QUIT)
- toolbar.insert(newtb,0)
- toolbar.insert(opentb,1)
- toolbar.insert(savetb,2)
- toolbar.insert(sep,3)
- toolbar.insert(quittb,4)
- quittb.connect("clicked",self.delete_event)
- #为什么在这里使用quittb.connect("clicked",gtk.main_quit)时,界面就死掉了?
- vbox=gtk.VBox(False,2)
- vbox.pack_start(toolbar,False,False,0)
- self.add(vbox)
- self.connect("destroy",gtk.main_quit)
- self.show_all()
- PyApp()
- gtk.main()
Popular Ranking
ChangePopular Events
More
请各位大侠帮忙解答一下,谢谢啦!具体代码如下