2016-09-30 7 views
0

何が問題なのですか?Tkinter ttk radiobutton変数の更新に失敗しました

var = StringVar() 
radBut1 = ttk.Radiobutton(root, text='A - Z', variable=var, value='AtoZ') 
radBut2= ttk.Radiobutton(root, text='Z - A', variable=var, value='ZtoA') 

2つのラジオボタンのいずれかを選択すると、var変数は更新されません。私は、さまざまなドキュメントソースとチュートリアルで多くの相反する資料を見つけました(そして私が見つけたすべてを試してみました)。

print(var) 
+0

どのように値を確認しますか? 'print'はスレッド/タイマー関数で実行されますか?もう少し詳しく説明してください。 – nostradamus

+0

それは動作します。 print(var.get())を実行してvarの内容を取得します。必要に応じてvar = StringVar(value = 'AtoZ')を使用してvarを初期化することができます。 – Jal

+0

Jalで動作することを確認していただきありがとうございます。ノストラダムスが予測したことのために、私の場合ではないでしょう:) – user3535074

答えて

0

これは動作します:

私はvarの値を確認するには、次の使用してい

def updateRadioButtonVariable(radioButtonVar,updateString): 
    radioButtonVar.set(updateString) 

#Sort Type Radio Button 
radioButtonVar = StringVar() 
radBut1= ttk.Radiobutton(root, text='A - Z', variable=radioButtonVar, value='AtoZ',command= lambda: updateRadioButtonVariable(radioButtonVar ,'AtoZ')) 
radBut2= ttk.Radiobutton(root, text='Z - A', variable=radioButtonVar, value='ZtoA',command= lambda: updateRadioButtonVariable(radioButtonVar ,'ZtoA')) 

わからない理由(ドキュメントからほとんどのテンプレートコードである)元のコード動作しません。誰かがアイデアを持っている場合は、共有してください。

関連する問題