GTK FileChooserDialog崩溃了我的脚本

时间:2013-06-13 16:24:54

标签: python gtk pygtk

我正在使用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但是没有用。任何人都可以告诉我我做错了什么吗? 任何想法,将不胜感激。 非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您不必在run()中销毁对话框,请尝试self.Selector.hide(),看看会发生什么......