Чтобы изменить цвет кнопки при наведении в Tkinter, вы можете использовать различные методы. Вот несколько подходов, которые вы можете использовать:
Метод 1: использование параметра кнопки «activebackground»
import tkinter as tk
def on_hover(event):
button.config(bg="red") # Change the background color when hovering
def on_leave(event):
button.config(bg="SystemButtonFace") # Change back to default color
root = tk.Tk()
button = tk.Button(root, text="Hover Me")
button.bind("<Enter>", on_hover)
button.bind("<Leave>", on_leave)
button.pack()
root.mainloop()
Метод 2: использование «стиля» кнопки с ttk
import tkinter as tk
from tkinter import ttk
def on_hover(event):
style.map("TButton", background=[("active", "red")]) # Change the background color when hovering
def on_leave(event):
style.map("TButton", background=[("active", "!disabled", "!focus", "!hover", "SystemButtonFace")]) # Change back to default color
root = tk.Tk()
style = ttk.Style()
style.configure("TButton", background="SystemButtonFace") # Set default background color
button = ttk.Button(root, text="Hover Me", )
button.bind("<Enter>", on_hover)
button.bind("<Leave>", on_leave)
button.pack()
root.mainloop()
Метод 3: использование метода «Настройка» кнопки
import tkinter as tk
def on_hover(event):
button.configure(bg="red") # Change the background color when hovering
def on_leave(event):
button.configure(bg="SystemButtonFace") # Change back to default color
root = tk.Tk()
button = tk.Button(root, text="Hover Me")
button.bind("<Enter>", on_hover)
button.bind("<Leave>", on_leave)
button.pack()
root.mainloop()