如何获得Button
(点击或未点击)的状态?这是一个按钮状态,而不是关于按钮设置的变量的问题。如何判断是否使用Frame
选择了i.winfo_class()
中的对象来识别Radiobutton
。
即
for i in a.winfo_children():
if i.winfo_class() == "Radiobutton":
i.get()
Radiobuttons没有get属性,因此这将永远不会起作用,但逻辑是相同的。我查看了文档但没有成功。
答案 0 :(得分:0)
唯一的解决方案是获取相关变量的值,并将其与radiobutton的值进行比较。如果它们相同,则选择该单选按钮。
答案 1 :(得分:0)
找到解决方案。 ttk.Radiobutton
具有比tkinter.Radiobutton
更多的功能。
请注意,即使是现在,Radiobuttons的所有方法和值都会出现重大问题。有时候你得到一个指针,有时你会得到一个字符串,需要自己解除引用。这使得Radiobuttons比我一直在使用的大多数其他人更难处理。有很多文件,他们正在解决这个问题,但需要注意。
就我的目的而言,tkinter.Radiobutton
没有instate
,这意味着没有简单的方法来检查它是否被点击。指针和取消引用之后我得到了指针,这对于动态gui的代码来说太繁琐和复杂了。
我最终得到的代码如下:
for i in a.winfo_children():
if i.winfo_class() == "TRadiobutton" and i.instate(['selected']) is True:
return i.cget('value')
另请注意,使用TRadioButton
字符串而不是RadioButton
,返回的对象类型在Radiobutton的ttk
和tkinter
实现之间并不相同。