问题很简单:我只想多次打开我的FileChooserDialog ,而无需重新创建相同的小部件。
销毁信号/方法不适合我,因为我不想破坏对象的引用,我只需要隐藏FileChooserDialog
问题在于,通过这段代码,我只是通过按钮获得对话框,但没有别的(没有路径,没有文件列表,没有文件夹..)只是按钮和灰色的空白窗口。
以下代码:
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 :(得分:1)
您应该考虑使用gtk.Widget::hide_on_delete,为此目的而存在。
答案 1 :(得分:0)
我尝试了多种方法让它发挥作用..你只需要进行编辑:
self.__file_chooser_dialog.show_all() -----> self.__file_chooser_dialog.show()
self.__file_chooser_dialog.hide_all() -----> self.__file_chooser_dialog.hide()
你能解释一下为什么会这样吗?!