请教高人 如何改变frame下button的属性 如果直接在root下是可以的 见代码from tkinter import *
root = Tk()
root.geometry('200x200')
root.resizable(width=False, height=False)
root.title('Button Test')
def click_me():
btn["text"] = "不可点"
btn['state'] = DISABLED
Label(root, text="button test").pack()
# btn被点击后,调用click_me函数,将btn文案修改为:不可点,状态修改为DISABLED(置灰状态,不可点击)
btn = Button(root, text="点我测试", command=click_me)
btn.pack()
btn1 = Button(root, text="我不可被点击", state=DISABLED)
btn1.pack()
root.mainloop()
但套在frame下 btn1 就找不到了 见代码 这段代码想在按下按钮后将确定按钮设置成disabled from tkinter import *
master = Tk()
frame = Frame(master)
frame.pack(padx=10, pady=10)
v1 = StringVar()
v2 = StringVar()
v3 = StringVar()
def test(content):
return content.isdigit()
testCMD = master.register(test)
def callback():
result = int(v1.get()) + int(v2.get())
v3.set(str(result))
btn1['state']=DISABLED
#print(v1.get(),v2.get(),frame[btn1])
def dele():
v1.set("")
v2.set("")
v3.set("")
e1 = Entry(frame, textvariable=v1,width=10, validate="key", validatecommand=(testCMD,"%P")).grid(row=0,column=0)
l1 = Label(frame,text="+").grid(row=0,column=1)
e2 = Entry(frame, textvariable=v2,width=10, validate="key", validatecommand=(testCMD,"%P")).grid(row=0,column=2)
l2 = Label(frame,text="=").grid(row=0,column=3)
e3 = Entry(frame, textvariable=v3,width=10, state="readonly").grid(row=0,column=4)
btn1 = Button(frame, text="确定", command=callback).grid(row=1,column=2,pady=5)
btn2 = Button(frame, text="清空", command=dele).grid(row=1,column=4,pady=5)
master.mainloop()
|