2015-11-05 138 views
1

如何获取Button(单击或未按下)的状态?这是一个按钮状态,而不是关于按钮设置的变量的问题。如何判断是否使用i.winfo_class()选择了Frame中的对象来标识Radiobuttonpython tkinter单选按钮状态

for i in a.winfo_children(): 
    if i.winfo_class() == "Radiobutton": 
     i.get() 

单选按钮有没有get属性,所以这不会有任何效果,但道理是一样的。我浏览过文档没有成功。

回答

0

找到解决方案。 ttk.Radiobutton具有比tkinter.Radiobutton更多的功能。 请注意,即使是现在,Radiobuttons仍然存在所有方法和值解引用的主要问题。有时候你会得到一个指针,有时候你会得到一个字符串,并且需要自己解除引用。这使得Radibuttons比我一直在使用的大多数其他人更难处理。有很多这方面的文件,他们正在解决这个问题,但这是值得注意的。 出于我的目的,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,返回的对象类型不是单选框的ttktkinter实现之间的相同。

0

唯一的解决办法是获取关联变量的值并将其与单选按钮的值进行比较。如果它们相同,则选择该单选按钮。