PyGTK:父窗口等到子窗口显示

时间:2010-08-26 21:24:05

标签: python windows oop methods pygtk

我正在学习PyGTK,我有一个父窗口和一个子窗口。在父窗口的方法内部,我创建子窗口然后刷新树视图...类似的东西:

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

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

我该怎么做? 谢谢。

1 个答案:

答案 0 :(得分: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()

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

谢谢。