Top.Mail.Ru
Ответы

Помогите вопрос по Python,Tkinter

Хочу сделать так, чтобы после нажатия кнопки цвет текста менялся на белый, а фон текста на черный, при повторном нажатии на кнопку текст возвращался в изначальный вид (то есть цвет текста черный, фон текста белый) и так хоть до бесконечности

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Просветленный
12345678910111213141516171819202122
import tkinter as tk

class ToggleDemo(tk.Tk):
    NORMAL  = {"fg": "black", "bg": "white"}
    INVERT  = {"fg": "white", "bg": "black"}

    def __init__(self):
        super().__init__()
        self.title("Class-based toggle")
        self.label = tk.Label(self, text="Тёмная ↔ Светлая", **self.NORMAL, font=("Arial", 16))
        self.label.pack(padx=20, pady=20)

        tk.Button(self, text="Сменить тему", command=self.toggle).pack(pady=10)

    def toggle(self):
        # выбираем словарь с нужными цветами в зависимости от текущего fg
        theme = self.INVERT if self.label.cget("fg") == self.NORMAL["fg"] else self.NORMAL
        self.label.config(**theme)

if __name__ == "__main__":
    ToggleDemo().mainloop()