我正在处理一个相当大的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}},
...
这并没有做得更好,因为仍然有一些选项必须内联指定。更不用说在任何地方似乎都没有关于ttk Python样式的有用文档(如果我在那看起来很深,请给我指出)。
我的问题如下:我应该如何最有效地利用tkinter.ttk Style类?
此外,为什么没有可靠的文档?
我很沮丧。也许我只需要学习tkinter以外的其他知识。任何帮助或建议,将不胜感激。