cdzjf 发表于 2022-11-17 17:09:43

tk选项框能的函数能灵活创建吗

Checkbutton的选项如果选项多,用一个for来创建,但函数能不能不要一个选项框一个函数呢?我用的这个方法,虽然选项框的建立没问题,但函数那部分还是有很多问题,有什么好的办法吗



def ch(i):
        if ch_bu.get():
                print(num)




ch_bu=['ch_bu1', 'ch_bu2', 'ch_bu3']
text_list=['一楼', '二楼', '三楼']
che=['che1', 'che2', 'che3']
num=

if __name__=="__main__":      
      for i in range(len(che)):
                ch_bu = tk.IntVar()
                che = tk.Checkbutton(root, text=text_list, variable=ch_bu, command=lambda:ch(i))
                che.place(x=1070, y=yy)
                yy += 20

ba21 发表于 2022-11-17 21:12:44

具体什么问题 呢?

阿奇_o 发表于 2022-11-17 21:57:40

多选项时,可以用全局元组(或OOP的实例属性)来保存各选项的状态,然后用一个回调函数 来修改这个选项元组的状态。
比如 有三个选项框,设初始元组状态为(0,0,0),那么当 其中 1和2被选中了,函数就被触发两次,元组状态变为 (1,1,0),据此来判断,你就可以执行其他相关操作 。

zsy0226 发表于 2022-11-30 18:48:16

问题是啥
页: [1]
查看完整版本: tk选项框能的函数能灵活创建吗