4

gladeとpygtkでfilechooserダイアログを使用する方法を誰かが知っているかどうか尋ねたいと思います。(どの言語バインディングでも非常に似ているはずです。そのため、言語を指定しませんでした。)基本的に、filechooserは次のようになります。1つはフォルダー(左)用、もう1つはフォルダー用です。ファイル用(右)。次に、ダイアログの下部に、2つのボタン用の2つの空のスロットがあるので、キャンセルと[OK]ボタンをそこにドロップしました。しかし、私の質問は、ダイアログが何を返すのかということです。私のコードは次のようになります。

    filename = None
    response = self.widget('filechooserdialog').run()
    print response
    #if response == Gtk.RESPONSE_OK: 
    filename = self.widget('filechooserdialog').get_filename()
    self.widget('filechooserdialog').hide()

現時点では、「キャンセル」と「OK」へのコールバックはダイアログを非表示にするだけです。しかし、ダイアログが何を返すのかわかりません。つまり、応答で[キャンセル]ボタンと[OK]ボタンのどちらが押されたかを指定するにはどうすればよいですか。

ありがとう、

v923z

PS:これは状況を説明するための画像です:

ここに画像の説明を入力してください

4

1 に答える 1

7

ボタン付きのダイアログは、押されたボタンに関連付けられている応答IDを返します。あなたの場合、空き地に「キャンセル」と「OK」ボタンを作成し、ファイルチューザーダイアログの編集ボックス(画面の右下にある「ボタンのプロパティ」のような見出しが表示されます)で使用できる空のスロットにドロップします。 .. ")タブResponse ID:の下にオプション(デフォルト値が0のスピンボタン)が表示されGeneralます。そのボタンが押されたときに受け取りたい値に設定するだけです。これを、ボタンごとに異なる値として設定します。これで、ダイアログを実行してボタンを押すと、設定した応答ID値が取得されます。これに基づいて、あなたはあなたの行動を取ることができます。
お役に立てれば!

于 2011-12-03T05:59:42.563 に答える