在GTK2中,我喜欢在解释器(ipython或普通python)中“即时”地构建gui,并像这样实时看到变化:
>>> import gtk
>>> win = gtk.Window()
>>> win.connect('delete-event', gtk.main_quit)
10L
>>> win.show_all()这将导致显示一个窗口,我可以在其中添加对象。
我之所以改用Gtk3,一方面是因为它是未来的趋势,另一方面是因为我有时会使用Glade,现在它只是Gtk3。在对GTK3执行相同的操作时,不会显示窗口:
>>> from gi.repository import Gtk
>>> win = Gtk.Window()
>>> win.connect('delete-event', Gtk.main_quit)
13L
>>> win.show_all()遗憾的是,在最后一行之后没有窗口。它不会显示,直到:
>>> Gtk.main()我甚至试过:
>>> win.show_now()它什么也没做。
有什么想法可以在GTK3中实时构建吗?
谢谢,
纳尼
发布于 2012-03-04 16:55:55
我尝试使用以下一行代码处理挂起的事件:
>>> while Gtk.events_pending(): Gtk.main_iteration()它看起来也有同样的行为。虽然不是很方便,但是您仍然可以在解释器中做一些工作。
或者,如果您正在开发一个Gtk应用程序,pdb.set_trace仍然可以工作,并允许您调试回调(如果这是您想要的)。
https://stackoverflow.com/questions/9552815
复制相似问题