Я работаю над довольно большим приложением tkinter / ttk. Первоначально я определил стили и форматирование виджета в объявлении виджета. Это было довольно громоздко, и у меня была тонна строк, которые выглядели примерно так:
idLabel = Label(self, text='ID', fg=self.labelfg, bg=self.labelbg, font=self.labelfont, height=1, anchor='sw', highlightbackground=self.labelfg)
При определенных размерах это стало действительно трудно поддерживать. Я не пробовал класс ttk Style раньше, но я потратил много времени на преобразование из tkinter в ttk, и у меня много подобных проблем. Я думал, что смогу собрать все мои стили в одном месте, но кажется, что большая часть этого все еще должна быть сделана в линию. В настоящее время у меня есть класс стилей, который выглядит следующим образом:
...
self.style.theme_settings(current_theme,
{'.':
{'configure':
{'background' : 'black',
'selectbackground' : 'blue',
'selectforeground' : 'white',
'fieldbackground' : 'black',
'insertbackground' : 'white',
'foreground' : 'white',
'relief' : 'flat'}},
'EntryTabView.TFrame':
{'configure':
{'background' : 'black',
'relief' : 'sunken',
'borderwidth' : 10}},
'CompetitorInfoView_Label.TLabel':
{'configure':
{'background' : 'black',
'foreground' : 'white',
'anchor' : 'w',
'font' : gen_font}},
...
Это не намного лучше, потому что есть еще опции, которые я должен указать inline. Не говоря уже о том, что, похоже, нигде нет полезной документации по ttk Python Styling (укажите мне, если она там была, я посмотрел так глубоко).
У меня следующий вопрос: как мне наиболее эффективно использовать класс стиля tkinter.ttk?
Кроме того, почему нет надежной документации по этому вопросу?
Я очень расстроен; может быть, мне просто нужно узнать что-то другое, кроме tkinter. Буду признателен за любую помощь или совет.