关于tkinter的一个复选框的问题
有多个复选框,如果每个复选框都设置一条数据,还设置一个执行函数势必重复代码过多,如果复选框数量多就更可怕我就想用个简单的来设置,其实设置好像还没有什么,显示也都正常,但出现了个问题,就是我的command=后面如果加了参数传到函数中,这个函数就没有被执行,无论你怎么执行都不会被执行,但如果把这个command=ch(i)换成command=ch,相应函数那边也当然不能有参数,这样整个函数的内容就会被执行,这是什么问题呢?要怎么样才能快速的设置一个多选框呢
def ch(s):
pp=(id)
if ch_bu.get():
id2.append(pp)
else:
id2.remove(pp)
print(id2)
id =
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 = tk.IntVar()
che = tk.Checkbutton(root, text=text_list, variable=ch_bu, command=ch(i))
che.place(x=xx, y=yy)
xx += 85 command不能有参数,加上lambada才行{:10_256:} 某一个“天” 发表于 2024-8-18 20:44
command不能有参数,加上lambada才行
不过,这种做法不可行,不知道有什么好的办法可以批量生成复选框
页:
[1]