我想事件類型<Activate>
綁定到Tkinter的Entry
讓自己的事件處理程序做一些事情時,Entry
去從tk.DISABLED
到tk.NORMAL
。但是,下面的代碼無法正常工作:如何使文本輸入構件響應激活事件
import Tkinter as tk
root = tk.Tk()
frame = tk.Frame(root)
frame.pack()
entry = tk.Entry(frame)
entry.configure(state=tk.DISABLED)
entry.pack()
def activation_handler(event):
print('handled event: {}'.format(event))
entry.bind('<Activate>', activation_handler)
button = tk.Button(frame, text='Toggle enable')
button.pack()
def do():
if entry.cget('state') == tk.NORMAL:
entry.configure(state=tk.DISABLED)
else:
entry.configure(state=tk.NORMAL)
button.configure(command=do)
root.mainloop()
什麼我需要做綁定<Activate>
到Entry
部件?
你在哪裏得到信息,是一個合法的Tkinter事件。 AFAIK它不是。 –
@CurlyJoe:''是一個有效的事件。它只是不做OP認爲它做的事情。 –