私はPyGTKプログラムのユーザーエクスペリエンスバグをデバッグしていますが(GTKにもこの質問は当てはまるでしょうが)、プログラムを実行しているユーザーに応じてバグが「トリガされた」ことが突然認識されました。PyGTK/GTKプログラムを実行するユーザがボタンの順序とデフォルトボタンを変更する理由は?
私はPyGTKの中に非常に簡単なスクリプトに問題を軽減:私は自分自身のように私のボックスでこれを実行すると、私はこのダイアログを取得
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_size_request(250, 100)
self.set_position(gtk.WIN_POS_CENTER)
self.connect("destroy", gtk.main_quit)
self.set_title("Message dialogs")
ques = gtk.Button("Question")
self.add(ques)
ques.connect("clicked", self.on_ques)
self.show_all()
def on_ques(self, widget):
md = gtk.MessageDialog(self,
gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_QUESTION,
gtk.BUTTONS_YES_NO, "Are you sure to quit?")
md.run()
md.destroy()
PyApp()
gtk.main()
:
Are you sure to quit?
<Yes> No
私はこれを実行すると、 ルートとしての私のボックスに、私はこのダイアログが出ます:
Are you sure to quit?
<No> Yes
両方のユーザーヘクタール同じ.gtkrc-2.0ファイルを使用しています。私はKDEを使用しています。私のホームディレクトリには明らかなGTK関連の隠しディレクトリがありません。
誰かがmd.set_default_response()を提案する前に、それは私が望むものではありません。ダイアログを作成した後でmd.set_default_response(gtk.RESPONSE_YES)を設定しようとしましたが、「はい」ボタンが選択されますが、左側には「いいえ」が表示されます。
この現象の原因はどこにあるのかを理解して、一度修正してみてください。