0

我正在使用 GTK FileChooserDialog(gtk 2.14, pygtk 2.12) 通过 python(2.5.2) 脚本在我的 IDE 中创建一个对话框。

在我的 python 脚本中,我创建了以下类。

class GTKFileDialog():
    def __init__(self, *extension):
        self.Selector = gtk.FileChooserDialog("dqfs", None, action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
        self.Selector.set_default_response(gtk.RESPONSE_OK)
        self.Selector.set_current_folder(os.getcwd())
        self.filter = gtk.FileFilter()
        for ext in extensions:
            self.filter.add_pattern(ext)
        self.Selector.add_filter(self.filter)
        # GTK button to finish the operation of selection
        Button = gtk.Button("Select")
        self.Selector.add_action_widget(Button, 10)
        Button.show()        
    def run(self):
        # Run the Selector object 
        out = self.Selector.run()
        filename = None
        if out == gtk.RESPONSE_OK:
            filename = self.Selector.get_filename()
        self.Selector.destroy()
        # return the selected filename
        return filename

现在,每当我尝试为此类创建对象时,我的 python 脚本都会崩溃并且 IDE 会关闭。

    ChooseFile = GTKFileDialog(".png")
    ChooseFile.run()

我什至不知道它引发了什么异常。我确定它不执行该run功能。我尝试使用 try/except 但这不起作用。任何人都可以告诉我我做错了什么吗?任何想法,将不胜感激。非常感谢您的帮助。

4

1 回答 1

0

您不必破坏 中的对话框run(),而是尝试self.Selector.hide()看看会发生什么...

于 2013-07-29T18:03:01.873 回答