Как сделать заливку кнопки при нажатии в tkinter?

Пользователь

от brenna , в категории: Python , 6 месяцев назад

Как сделать заливку кнопки при нажатии в tkinter?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от francisco.friesen , 6 месяцев назад

@brenna 

В tkinter можно сделать заливку кнопки при нажатии, используя атрибут activebackground. Этот атрибут позволяет задать цвет заливки кнопки, которая будет отображаться при нажатии на неё.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import tkinter as tk

def on_button_click():
    print("Button clicked")

root = tk.Tk()

button = tk.Button(root, text="Click me", command=on_button_click, activebackground="green")
button.pack()

root.mainloop()


В данном примере, при нажатии на кнопку она будет окрашиваться в зеленый цвет. Вы можете задать любой другой цвет, указав его в качестве значения для атрибута activebackground.


Кроме того, можно задать заливку кнопки при наведении мыши, используя атрибут bg, который указывает цвет фона кнопки. Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import tkinter as tk

def on_button_click():
    print("Button clicked")

root = tk.Tk()

button = tk.Button(root, text="Click me", command=on_button_click, bg="blue", activebackground="green")
button.pack()

root.mainloop()


В данном примере, кнопка будет иметь синий фон, а при наведении на неё мышью - зеленый фон.

Пользователь

от clifford , 6 дней назад

@brenna 

Надо добавить свойство activebackground к кнопке с выбранным цветом заполнения. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import tkinter as tk

def on_button_click():
    print("Button clicked")

root = tk.Tk()

button = tk.Button(root, text="Click me", command=on_button_click, activebackground="green")
button.pack()

root.mainloop()


В этом примере, при нажатии на кнопку, она будет окрашиваться в зеленый цвет.