2011-01-13 3 views
0

나는 glade와 pygtk를 사용하고 있으며 treeview에 대한 새로운 항목을 만드는 대화 상자를 여는 버튼이있는 treeview가있는 창이 있습니다. 대화 상자가 파괴되었을 때 주 창에서 treeview를 업데이트하려고하지만이 작업을 수행하는 간단한 방법을 볼 수 없습니다.pygtk로 파괴 할 때 데이터 업데이트하기

--Edit--

대답, 그냥 창을 연결하는 데 필요한 나는 신호가

(dialog).window.connect('destroy', self.foo) 

답변

1

올바른 접근 방식은 메인 창에서 대화 상자의 응답을 처리하는 것입니다 파괴 찾았

def on_menu_item_activated(self, widget, data=None): 
    dialog = FunkyDialog() 
    response = dialog.run() 

    if response == gtk.RESPONSE_OK: 
     // update treeview 

아마 더 좋은 방법은 Observer design pattern을 사용하는 것입니다. 사용자가 Ok를 누르면 데이터를 저장합니다. 이것은 트리 뷰에 변경이 이루어 졌음을 알려주며, 트리뷰를 다시 불러옵니다.