首页 > 解决方案 > TTK 组合框样式不正确

问题描述

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

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

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

上面的代码是使用本网站作为参考制作的。

请注意,self.theme.get('bg')返回 #202020

标签: pythonpython-3.xtkintertkttk

解决方案


造成的不便,深表歉意; 我决定保留这个线程,以防其他人需要帮助。事实证明,使用以下命令创建父容器会使ttk对象无法正确设置样式:

self.root = tk.Tk()

将上述命令更改为以下命令解决了我遇到的问题:

self.root = tk.Toplevel()

推荐阅读