Tkinter с Python 3.7.9, изменяет цвет кнопки при нажатии, а затем возвращается при повторном нажатии

#python #tkinter #tkinter-button

Вопрос:

Мне трудно понять, как изменить цвет кнопки в python с помощью tkinter. Все учебники, которые я видел, показывают, как изменить цвет при нажатии кнопки. Например

 from tkinter import *  root = Tk() root.title('Testing') root.geometry("400x400")  btn = Button(root, text = "Change my colour", bg="#00FF00", activebackground="#FF0000")  btn.pack()  root.mainloop()  

это мой текущий код, и при нажатии он меняет цвет с зеленого на красный, но как только вы поднимаете мышь, он снова становится зеленым. То, что я ищу, — это как сохранить кнопку красной после того, как она была нажата, а затем изменить ее обратно, когда она будет нажата снова. Я ценю любую помощь или совет, спасибо!

Комментарии:

1. Непонятно, в чем вам нужна помощь. Очевидный ответ — «создайте функцию для изменения цвета». Вы спрашиваете, как создать функцию? Вы спрашиваете, как изменить один из параметров конфигурации? Все эти вещи задокументированы.

Ответ №1:

Вероятно, самый простой способ реализовать двухцветную кнопку-это использовать a Checkbutton . Попробуй это.

 tk.Checkbutton(root, indicatoron = 0, activebackground = 'black', background = "green", selectcolor = "red", text = "Button", foreground = "yellow").pack()  

Обратите внимание на использование Checkbutton индикатора = 0, чтобы он выглядел как стандартный объект кнопки.