На этом шаге мы рассмотрим различные способы задания стилей.
Если же нужно слегка изменить внешний вид лишь компонентов определенного типа (или даже вообще одного-единственного компонента), следует создать стиль, задать в нем соответствующие настройки и связать этот стиль с нужными компонентами.
Для манипулирования стилями применяется метод configure() класса Style. Вот формат его вызова:
configure(<Название стиля>[, query_opt=<Haзвание опции стиля>][, <Опции стиля>])
Если этот метод вызван с двумя или более параметрами и без параметра query_opt, он создает новый стиль с указанным названием на основе указанных опций.
Название стиля записывается в первом параметре метода в виде строки. В качестве названия стиля можно указать:
s = tkinter.ttk.Style() s.configure(".", foreground="red")
Стиль, для которого указано название стилевого класса, будет применен ко всем компонентам, чей класс соответствует указанному стилевому классу:
s = tkinter.ttk.Style() s.configure("TButton", foreground="blue")
"<Название стиля>.<Название стилевого класса для компонента>" ,
Такого рода стиль будет применен ко всем компонентам, у которых название этого стиля указано в качестве значения опции style:
s = tkinter.ttk.Style() s.configure("GreenButton.TButton", foreground="green") . . . . btnAction = tkinter.ttk.Button(self ... style="GreenButton.TButton")
Если метод configure() вызван с параметром query_opt, он вернет в качестве результата значение опции стиля, заданное в этом параметре:
print(s.configure("GreenButton.TButton", query_opt="foreground")) # Результат: green
А если вызвать метод configure() с одним параметром, он вернет значения всех опций указанного стиля в виде словаря:
print(s.configure("GreenButton.TButton")) # Результат: # {'foreground': 'green'}
На следующем шаге мы рассмотрим стили состояний.