【发布时间】:2017-11-04 10:27:27
【问题描述】:
在一本关于 Python/tkinter 的食谱书中,我发现了这个关于如何在一个循环中创建三个 Radiobutton 小部件的 sn-p:
colors = ["Blue", "Gold", "Red"]
radVar = tk.IntVar()
radVar.set(99)
for col in range(3):
curRad = 'rad' + str(col)
curRad = tk.Radiobutton(win, text=colors[col], variable=radVar,
value=col,
command=radCall)
curRad.grid(column=col, row=5, sticky=tk.W)
我明白了使用循环的意义,但我希望变量curRad 被用作例如一个列表,最终包含对所有这些单选按钮的引用。这里发生了什么? Python 是否以某种方式在每次迭代中创建自定义命名的变量?对我来说,看起来我们正在将一个字符串分配给一个变量,然后将一个小部件的引用分配给同一个变量,并且在每次迭代时都做同样的事情。
我在这里错过了什么?
【问题讨论】:
标签: python class for-loop tkinter variable-assignment