Как установить по умолчанию цвет фона tkinter
Кто-нибудь знает код цвета для фона по умолчанию? Я не могу найти это где-нибудь. В моей программе я изменил цвет фона и позже мне нужно изменить его на цвет по умолчанию, но я не могу найти код цвета.
Любая помощь приветствуется. Благодарю.
3 ответа
Если вы хотите получить фон по умолчанию во время выполнения, вы можете использовать cget
метод. Это может вернуть имя цвета, а не значение RGB.
import Tkinter as tk
root = tk.Tk()
bg = root.cget("background")
# eg: 'systemWindowBody'
Вы можете преобразовать это в кортеж из красного, зеленого и синего компонентов
rgb = root.winfo_rgb(bg)
# eg: (65535, 65535, 65535)
Затем вы можете отформатировать значение в виде шестнадцатеричной строки, если хотите:
color = "#%x%x%x" % rgb
# eg: '#ffffffffffff'
Чтобы сбросить фон после его изменения, сохраните значение, а затем используйте значение с configure
команда:
original_background = root.cget("background")
...
root.configure(background=original_background)
Другой вариант просто очистить background
установка. Например
import Tkinter as tk
root = tk.Tk()
lbl_status = ttk.Label(root, width=20, text="Some Text")
lbl_status['background'] = 'yellow' # Set background to yellow
lbl_status['background'] = '' # Reset it to system default