我想将多个bind事件在同一个函数中实现,但是不知道怎么使用。
代码如下:
import tkinter
class Example(tkinter.Frame):
def __init__(self, *args, **kwargs):
tkinter.Frame.__init__(self, *args, **kwargs)
self.l1 = tkinter.Label(self, text="Enter name")
self.l2 = tkinter.Label(self, text="", width=40)
self.l1.pack(side="top")
self.l2.pack(side="top", fill="x")
self.b1 = tkinter.Button(root, text="Ok")
self.b2 = tkinter.Button(root, text="Ok2")
self.b1.bind("<Enter>", self.on_enter)
self.b1.bind("<Leave>", self.on_leave)
self.b2.bind("<Enter>", self.on_enter)
self.b2.bind("<Leave>", self.on_leave)
self.b1.pack()
self.b2.pack()
def on_enter(self, event):
if self.b1.bind:
self.l2.configure(text="Check details filled before pressing Ok")
if self.b2.bind:
self.l2.configure(text="Check details filled before pressing Ok2")
def on_leave(self, enter):
if self.b1.bind:
self.l2.configure(text="")
if self.b2.bind:
self.l2.configure(text="")
if __name__ =="__main__":
root = tkinter.Tk()
Example(root).pack(side="top", fill="both", expand="true")
root.mainloop()
运行结果:

