4 метода изменения отключенного цвета в Tkinter с примерами кода

Чтобы изменить отключенный цвет в tkinter, вы можете использовать один из следующих методов:

Метод 1. Изменение системного цвета

import tkinter as tk
root = tk.Tk()
# Change the system color for disabled elements
root.tk_setPalette(disabledforeground="red")
# Create a disabled button
button = tk.Button(root, text="Disabled Button", state="disabled")
button.pack()
root.mainloop()

Метод 2. Настройка отключенного цвета с помощью ttk

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
# Create a style and configure the disabled color
style = ttk.Style()
style.map("TButton",
          foreground=[('disabled', 'red')],
          background=[('disabled', '!disabled')])
# Create a disabled button
button = ttk.Button(root, text="Disabled Button", state="disabled")
button.pack()
root.mainloop()

Метод 3: переопределение отключенного цвета по умолчанию с помощью специального класса

import tkinter as tk
from tkinter import ttk
class CustomButton(ttk.Button):
    def __init__(self, *args, kwargs):
        super().__init__(*args, kwargs)
        self.configure(disabledforeground="red")
root = tk.Tk()
# Create a custom button
button = CustomButton(root, text="Disabled Button", state="disabled")
button.pack()
root.mainloop()

Метод 4. Изменение отключенного цвета по умолчанию с помощью карты стилей

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
# Create a style and modify the disabled color using a map
style = ttk.Style()
style.map("TButton",
          foreground=[('disabled', 'red')],
          background=[('disabled', '!disabled')])
# Create a button
button = ttk.Button(root, text="Disabled Button", state="disabled")
button.pack()
root.mainloop()