【发布时间】:2018-08-10 05:22:58
【问题描述】:
我的程序的这一部分允许用户选择从 1 到 5 的数字,并提供所有选择的数字的总和。我想在总和达到 30 时禁用单选按钮。我该怎么做?
total_choices = [("1"),
("2"),
("3"),
("4"),
("5")]
var = tk.IntVar()
var.set(0)
sum = 0
def Calculator():
global sum
num = var.get()
sum = sum + num
if sum>30
# Grey out all the radio buttons
for val, choice in enumerate(total_choices):
tk.Radiobutton(root,
text=choice,
indicatoron = 0,
width = 10,
variable=var,
command=Calculator,
value=val).place(x=val*100,y=180)
【问题讨论】:
-
保留对每个单选按钮的引用,并将每个单选按钮的状态设置为
"disabled"。 -
我试图在另一个我有很多按钮的程序中做同样的事情。我将不得不单独引用它们,这很麻烦。有什么办法可以使用一维数组来改变它们的所有状态?例如, btn[num].config(state=DISABLED) 当我尝试它时,它给了我一个“Nonetype”错误
-
你可以使用一维数组吗?当然。小部件对象没有什么特别之处。它与任何其他类型的对象没有什么不同。至于 NoneType 错误,这个问题已经在这个网站上被询问和回答了大约 1000 次。
标签: python tkinter radio-button