用户界面 - Python tkinter 检查按钮打印PY_VAR0



所以这是代码,它在很大程度上借鉴了这个问题:

如何从 python tkinter 中 for 循环中的列表创建多个复选框。

from tkinter import * 
root = Tk()
enable = {'jack': 0, 'john': 1} 
def actright(x):
    print(enable.get(x))
for machine in enable:
    enable[machine] = Variable()
    l = Checkbutton(root, text=machine, variable=enable[machine], 
                    command=  actright(machine))
    l.pack(anchor = W)
root.mainloop()

我预计输出为:

0
1

相反,输出是:

PY_VAR0
PY_VAR1

如何在数字前没有"PY_VAR"的情况下获取这些值?

删除enable[machine] = Variable()

for machine in enable:
    l = Checkbutton(root, text=machine, variable=enable[machine],
                    command=  actright(machine))
    l.pack(anchor = W)
root.mainloop()

您会看到PY_VAR0PY_VAR1,因为您将值设置为带有 enable[machine] = Variable() 的值,这会覆盖字典中的值,因此获得所做的输出是有意义的。

相关内容

  • 没有找到相关文章

最新更新