如何在Tkinter中使用一个“bind”绑定多个事件?
对于某些应用程序,如果我们想使用其中定义的按钮执行多个任务,则可以使用 bind(Button,callback) 方法将按钮和事件绑定在一起,以在应用程序中安排事件的运行。
假设我们想将多个事件或回调与单个 < bind>绑定,那么我们必须首先迭代所有小部件,以获取它们作为一个实体。现在可以配置该实体以在应用程序中绑定多个小部件。
示例
# 导入所需的库
from tkinter import *
from tkinter import ttk
# 创建一个 tkinter 窗口或框架的实例
win = Tk()
# 设置窗口的大小
win.geometry("700x350")
def change_bgcolor(e):
label.config(background="#adad12")
def change_fgcolor(e):
label.config(foreground="white")
# 添加一个标签小部件
label = Label(win, text="Hello World! Welcome to Tutorialspoint", font=('Georgia 19 italic'))
label.pack(pady=30)
# 添加按钮来触发事件
b1 = ttk.Button(win, text="Button-1")
b1.pack()
# 绑定事件
for b in [b1]:
b.bind("<Enter>", change_bgcolor)
b.bind("<Leave>", change_fgcolor)
win.mainloop()
输出
如果我们运行上面的代码,它将显示一个包含一个按钮的窗口。
当我们悬停在按钮上时,它将更改标签的背景颜色。离开按钮将更改标签小部件的字体颜色。