TTK 组合框样式不正确

问题描述

我一直在尝试创建一个适合我的 UI 其余部分的组合框;但是小部件仍然看起来像认的:

A default ttk combobox

在我的尝试中,我尝试使用以下代码“强制”小部件适应颜色,但无济于事:

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()