|
5鱼币
有多个复选框,如果每个复选框都设置一条数据,还设置一个执行函数势必重复代码过多,如果复选框数量多就更可怕
我就想用个简单的来设置,其实设置好像还没有什么,显示也都正常,但出现了个问题,就是我的command=后面如果加了参数传到函数中,这个函数就没有被执行,无论你怎么执行都不会被执行,但如果把这个command=ch(i)换成command=ch,相应函数那边也当然不能有参数,这样整个函数的内容就会被执行,这是什么问题呢?要怎么样才能快速的设置一个多选框呢
def ch(s):
pp=(id[s])
if ch_bu[s].get():
id2.append(pp)
else:
id2.remove(pp)
print(id2)
id = [101, 103, 105]
id2 = id.copy()
che = ['che1', 'che2', 'che3']
ch_bu = ['ch_bu1', 'ch_bu2', 'ch_bu3']
text_list = ["选择31", "选择2", "选择3"]
yy = 100
xx = 10
for i in range(len(che)):
ch_bu[i] = tk.IntVar()
che[i] = tk.Checkbutton(root, text=text_list[i], variable=ch_bu[i], command=ch(i))
che[i].place(x=xx, y=yy)
xx += 85
command不能有参数,加上lambada才行 
|
最佳答案
查看完整内容
command不能有参数,加上lambada才行
|