2010-08-26 45 views
0

我学习PyGTK的,我有一个父窗口和子窗口。内部父窗口的方法,我创建子窗口,然后我刷新树状......类似的东西:的PyGTK:父窗口等到子窗口显示

def add_user(self, widget, data = None): 
    save_user.SaveUser(self.window) 
    self.load_tree_view() 

但是,当它运行时,会出现子窗口并执行load_tree_view()方法。我希望父窗口等到子窗口打开/显示。在此之后,load_tree_view运行...

我怎样才能做到这一点? 谢谢。

回答

0

gtk.Dialog解决了我的问题,但我不知道是否正确使用...什么时候应该使用对话框?

#! /usr/bin/python 

import pygtk 
import gtk 

class Window: 
    def __init__(self): 
     self.window = gtk.Window() 
     self.window.connect('delete-event', self.close_window) 
     self.window.show() 
     self.dialog = gtk.Dialog() 
     self.dialog.connect('delete-event', self.close_dialog) 
     self.dialog.run() 
     print 'after dialog...' 
     gtk.main() 

    def close_window(self, widget, data = None): 
     gtk.main_quit() 

    def close_dialog(self, widget, data = None): 
     self.dialog.hide() 

if __name__ == '__main__': 
    Window() 

对话框后的“打印”...“”代码仅在对话框关闭后出现。这就是我想要的。

谢谢。