leihongwei93 发表于 2021-4-11 22:16:51

tkinter怎么通过checkbutton组件控制entry组件的状态

tkinter中,怎么通过checkbutton组件控制entry组件的状态呢,就是当checkbutton选中时,entry状态为NORMAL,当checkbutton未选中时,entry状态为DISABLED

leihongwei93 发表于 2021-4-11 22:28:52

from tkinter import *

master = Tk()
var = IntVar()
vartext = StringVar()

def enable():
    if var.get() == 1:
      E.configure(state=NORMAL)
    else:
      E.configure(state=DISABLED)
   
CB = Checkbutton(master, text='选择', variable=var, command=enable)
CB.pack()

E = Entry(master, textvariable=vartext, state=DISABLED)
E.pack()

mainloop()

leihongwei93 发表于 2021-4-11 22:30:02

leihongwei93 发表于 2021-4-11 22:28
from tkinter import *

master = Tk()


灵感一来,问题解决了,但还是不明白为什么取消勾选checkbutton时,command还会被调用

小伤口 发表于 2021-4-11 23:00:24

本帖最后由 小伤口 于 2021-4-11 23:02 编辑

from tkinter import *
master = Tk()
def cool():
    print(h1.get())
    if h1.get() == True:## 因为h1创建时是bool的运算,选中为真,不选为假
      E.configure(state=NORMAL)
    else:
      E.configure(state=DISABLED)
h1 = BooleanVar() # 设置选择框对象
c = Checkbutton(master, text="我是帅锅",variable=h1,command=cool)
c.pack()
E = Entry(master,state=DISABLED)
E.pack()
mainloop()


这样就好了
有帮助记得给最佳哦~{:10_254:}
页: [1]
查看完整版本: tkinter怎么通过checkbutton组件控制entry组件的状态