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 に答える