gpt4 book ai didi

python - 在 TKinter 中读取一组检查按钮的变量

转载 作者:行者123 更新时间:2023-12-01 05:43:33 24 4
gpt4 key购买 nike

我在 root.frame1 上有一组检查按钮,我想在 root 的子框架中使用选定的按钮来制作选项菜单。我采取的方法是:

import Tkinter as Tk
root = Tk.Tk()
frame1 = Tk.Frame(root)
variables = dict()
s = {'WZ':'1','ZB':'2','RS':'3','CC':'4','CL':'5'}
for k,v in s.iteritems():
variables[k]= Tk.IntVar()
cb = Tk.Checkbutton(frame1, text=v,onvalue=v, offvalue=0, variable=variables[k], anchor=W)
cb.pack(side='top',fill='x')

frame1.pack()

然后当我选择一些复选按钮时,变量字典中的值仍然是 0:

for k,v in variables.iteritems():
print k,' ',v.get()

打印出:

'WZ' 0
'ZB' 0
....

我尝试使用元组列表而不是字典,即变量 =[('WZ',),...] 但值仍然没有改变。你知道我的代码有什么问题吗?请告诉我。谢谢阿里

最佳答案

你的代码对我有用。但是,它将有助于使用可运行的代码。这对你有用吗?

import Tkinter as tk

class App(object):
def __init__(self, master, **kwargs):
frame = tk.Frame(master)
self.variables = {}
s = {'WZ':1,'ZB':2,'RS':3,'CC':4,'CL':5}
for k, v in s.iteritems():
self.variables[k] = tk.IntVar()
cb = tk.Checkbutton(
frame, text=k, onvalue=v, offvalue=0,
variable=self.variables[k],
command=self.oncheck(k),
anchor='w')
cb.pack(side='top',fill='x')
frame.pack()
def oncheck(self, key):
def _oncheck():
print('{l} => {v}'.format(l=key, v=self.variables[key].get()))
return _oncheck

root = tk.Tk()
app = App(root)
root.mainloop()

关于python - 在 TKinter 中读取一组检查按钮的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16846231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com