如何在 Tkinter 中用一个"bind"绑定多个事件?

tkinterpythongui-programming更新于 2025/7/18 17:16:17

对于特定应用程序,如果我们想借助其中定义的按钮执行多个任务,那么我们可以使用 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()

输出

如果我们运行上述代码,它将显示一个包含按钮的窗口。

当我们将鼠标悬停在按钮上时,它将改变标签的背景颜色。离开按钮将更改标签小部件的字体颜色。


相关文章


有用资源