问题描述
我正在构建第一个动态创建的复选按钮的GUI:
for i in range(7,spaltendf):
globals()['i_{}'.format(i)] = Intvar()
globals()['Check_{}'.format(i)] = Checkbutton(root,text=df [i][zeilendf],variable = 'i_{}'.format(i)).grid(row = r,column =4)
#print('i_{}'.format(i))
r = r +1
现在,用户可以“检查”按钮,并且我想在数据库中实现答案(选中时大于1,未选中0)
但是当我尝试我的代码时,即使我选中了按钮,它也只给我0作为答案。有人可以帮我吗?
这是我的代码:
def myClick():
for z in range(7,spaltendf):
globals()['Eingabe_{}'.format(z)]=int(globals()['i_{}'.format(z)].get())
print(globals()['Eingabe_{}'.format(z)])
解决方法
第三行CheckButton
内有variable = 'i_{}'.format(i)
。
这样会将variable
设置为字符串,而是尝试使用创建IntVar
时使用的相同逻辑:variable = globals()['i_{}'.format(i)]
。