问题描述
我一直在尝试创建一个适合我的 UI 其余部分的组合框;但是小部件仍然看起来像默认的:
在我的尝试中,我尝试使用以下代码“强制”小部件适应颜色,但无济于事:
self.root = tk.Tk() # Parent Container
# Other UI elements declared
self.themeSel_combo_theme.configure(
"TComboBox",background=self.theme.get('bg'),foreground=self.theme.get('bg'),fieldbackground=self.theme.get('bg'),darkcolor=self.theme.get('bg'),lightcolor=self.theme.get('bg'),selectbackground=self.theme.get('bg'),selectforeground=self.theme.get('bg'),bordercolor=self.theme.get('bg'),insertcolor=self.theme.get('bg'),insertwidth=self.theme.get('bg'),# It uses a color,not a size value
arrowcolor=self.theme.get('bg')
)
self.themeSel_combo = ttk.ComboBox(self.quickTheme_cont,style="TComboBox")
以上代码使用 this website 作为参考。
注意 self.theme.get('bg')
返回 #202020
解决方法
给您带来的不便深表歉意;我决定保留这个线程,以防其他人需要这方面的帮助。事实证明,使用以下命令创建父容器会导致 ttk
对象无法正确设置样式:
self.root = tk.Tk()
将上述命令更改为以下解决了我遇到的问题:
self.root = tk.Toplevel()