|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Checkbutton的选项如果选项多,用一个for来创建,但函数能不能不要一个选项框一个函数呢?我用的这个方法,虽然选项框的建立没问题,但函数那部分还是有很多问题,有什么好的办法吗
def ch(i):
if ch_bu[i].get():
print(num[i])
ch_bu=['ch_bu1', 'ch_bu2', 'ch_bu3']
text_list=['一楼', '二楼', '三楼']
che=['che1', 'che2', 'che3']
num=[1,2,3]
if __name__=="__main__":
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=lambda:ch(i))
che[i].place(x=1070, y=yy)
yy += 20
多选项时,可以用全局元组(或OOP的实例属性)来保存各选项的状态,然后用一个回调函数 来修改这个选项元组的状态。
比如 有三个选项框,设初始元组状态为(0,0,0),那么当 其中 1和2被选中了,函数就被触发两次,元组状态变为 (1,1,0) ,据此来判断,你就可以执行其他相关操作 。
|
|