如何让按钮悬停时改变 Tkinter 中的背景颜色?

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

Tkinter 中的按钮小部件具有许多内置功能,可用于配置和执行应用程序中的某项任务。为了在应用程序中运行特定事件,我们可以使用 bind("<Buttons>",callback) 方法将函数或事件与按钮绑定。要在按钮中添加hover 属性,我们可以在bind 函数中使用 <Enter>和 <Leave>参数。

示例

# 导入所需的库
from tkinter import *
from tkinter import ttk

# 创建 tkinter 框架或窗口的实例
win=Tk()

# 设置窗口的大小
win.geometry("700x350")

def change_bgcolor(e):
   win.config(background="green3")

def change_fgcolor(e):
   win.config(background="white")

# 添加按钮以触发事件
b1=Button(win, text="Hover on Me", font=('Georgia 16'))
b1.pack(pady=60,anchor=CENTER)

# 绑定事件
for b in [b1]:
   b.bind("<Enter>",change_bgcolor)
   b.bind("<Leave>", change_fgcolor)

win.mainloop()

输出

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

当我们将鼠标悬停在按钮上时,它将改变主窗口的背景颜色。


相关文章


有用资源