Python Tkinter单选按钮在运行时已被选中
您好,我正在尝试创建一个程序使用单选按钮,我只是在它的开始,我已经有一个问题。当我运行程序时,两个单选按钮(binari_1和binari_2)都已被选中,我根本无法与它们交互。我已经尝试过使用取消选择函数,但是对于Python Tkinter单选按钮在运行时已被选中,python,tkinter,Python,Tkinter,您好,我正在尝试创建一个程序使用单选按钮,我只是在它的开始,我已经有一个问题。当我运行程序时,两个单选按钮(binari_1和binari_2)都已被选中,我根本无法与它们交互。我已经尝试过使用取消选择函数,但是对于它返回错误:。我还能做什么?任何帮助都是可以接受的,谢谢 你面临的问题是,你没有为radiobutton设置一个值或变量,设置这些值或变量,你就可以开始了。此外,还需要使用lambda,否则该函数将立即执行 var = IntVar() binari_1 = Radiobutton
你面临的问题是,你没有为radiobutton设置一个值或变量,设置这些值或变量,你就可以开始了。此外,还需要使用
lambda
,否则该函数将立即执行
var = IntVar()
binari_1 = Radiobutton(window, text="1", command=lambda:binari(var.get()),variable=var,value=1).grid(column=1, row=0)
binari_2 = Radiobutton(window, text="2", command=lambda:binari(var.get()),variable=var,value=2).grid(column=2, row=0)
如果没有lambda
,则直接调用函数,因此在选择任何单选按钮之前,函数将运行(调用)。所以,如果要将任何参数传递给函数,请使用lambda
语法:lambda:
此外,您还会得到一个NoneType
错误,因为您grid()
在同一行声明中,所以只需说:
binari_1 = Radiobutton(window, text="1", command=lambda:binari(var.get()),variable=var,value=1)
binari_1.grid(column=1, row=0)
binari_2 = Radiobutton(window, text="2", command=lambda:binari(var.get()),variable=var,value=2)
binari_2.grid(column=2, row=0)
我试过了,但不幸的是我还是遇到了同样的问题。在这个链接上运行之后,我会留下一个程序的屏幕截图---->。哦,我仍然无法与RadioButton进行交互。我尝试使用您的新代码,使用或不使用deselect()函数。它仍然不起作用。它运行时没有问题,也没有错误,但在这两种情况下按钮都是“选中”的,并且不可交互。@FrancescoRuffinengo也许您遗漏了什么,我将更新整个代码。让我知道,非常感谢你的帮助!!!它起作用了,是的,我丢失了一些代码@FrancescoRuffinengo,我可能建议将
binari=0
更改为binari_num=0
不建议函数和变量使用相同的名称,这将导致递归或在您的案例中出现进一步的错误。请不要将您的问题写为引号,修复此问题。然后,编辑您的问题,并在文本中的代码表达式中使用`
括号来澄清问题。请删除称呼语。
binari_1 = Radiobutton(window, text="1", command=lambda:binari(var.get()),variable=var,value=1)
binari_1.grid(column=1, row=0)
binari_2 = Radiobutton(window, text="2", command=lambda:binari(var.get()),variable=var,value=2)
binari_2.grid(column=2, row=0)