2010-08-26 4 views
0

Я изучаю PyGTK, и у меня есть родительское окно и дочернее окно. Внутри метода родительского окна, я создать дочернее окно, а затем я обновить TreeView ... что-то вроде этого: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() 

«print» after dialog ... »Код появляется только после закрытия диалога. Это то, что я хочу.

спасибо.

Смежные вопросы