2013-12-08 113 views
0

问题很简单:我只是想多次打开我的FileChooserDialog,因为我想要,而无需重新创建相同的小部件。python中的FileChooserDialog

销毁信号/方法是不适合我,因为我不想破坏参照对象,我只需要隐藏FileChooserDialog

的问题是,通过这个代码,我只是得到与按钮的对话框,但没有别的(没有路径,没有文件列表,没有文件夹..)只是按钮和一个灰色的空白窗口。

HERE下面的代码:

self.__file_chooser_dialog = gtk.FileChooserDialog("Open..", 
             None, 
             gtk.FILE_CHOOSER_ACTION_OPEN, 
             (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, 
             gtk.STOCK_OPEN, gtk.RESPONSE_OK)) 

def file_chooser_event(self, widget, data=None): 
     self.__file_chooser_dialog.show_all() 
     response = self.__file_chooser_dialog.run() 
     if response == gtk.RESPONSE_OK: 
      print self.__file_chooser_dialog.get_filename(), 'selected' 
     elif response == gtk.RESPONSE_CANCEL: 
      print 'Closed, no files selected' 

     self.__file_chooser_dialog.hide_all() 


self.__load_config=gtk.Button('Carica file di configurazione\n(nome__file.ini)') 
self.__load_config.connect('clicked', self.file_chooser_event) 

回答

0

我已经尝试过多种方法来让它工作..你只需要做到这一点编辑:

self.__file_chooser_dialog.show_all() -----> self.__file_chooser_dialog.show() 

self.__file_chooser_dialog.hide_all() -----> self.__file_chooser_dialog.hide() 

你能解释我为什么这个作品?!