2016-09-30 64 views
0

这是怎么回事?Tkinter ttk单选按钮可变更新失败

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变量不会更新。我在不同的文档资料和教程中发现了很多相互矛盾的材料(我尝试了所有我发现的),但都无济于事。

我使用下面的检查var值:

print(var) 
+0

你如何检查价值? 'print'是否在线程/定时器函数中运行?请详细说明一下。 – nostradamus

+0

它的工作原理。尝试打印(var.get())以获取var的内容。如果需要,您可以初始化var var = StringVar(value ='AtoZ') – Jal

+0

感谢您确认这对您有用Jal。对我来说并非如此,也许是因为诺查丹玛斯预言:) – user3535074

回答

0

这工作:

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')) 

不知道为什么原来的代码(这几乎是模板代码与文档)不起作用。如果有人有任何想法,请分享。