我有一个名为Weapons的变量列表,我需要在一个武器切换系统中为该列表中的每个项目设置单选按钮。(使用Tkinter)
一开始我试着做这样的事情:
for item in Weapons:
x = Radiobutton(equipped, text=item['name'], variable=player['weapon'],
value=item)
x.pack()但是这失败了,因为所有的单选按钮都有相同的值。我不知道需要多少个按钮,因为它是相对的,取决于武器内部变量的数量。
我该怎么做?
发布于 2018-04-12 20:08:35
variable选项的值必须是一个特殊tkinter (例如:StringVar)的实例。不能在字典中使用普通变量或元素。
发布于 2018-04-12 19:37:52
下面是使用exec按注释中的要求做的事情:
n=1
for item in Weapons:
exec('x'+str(n)+'= Radiobutton(equipped, text=item['name'], variable=player['weapon'], value=item)'
exec('x'+str(n)+'.pack()'
n+=1https://stackoverflow.com/questions/49804510
复制相似问题