微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TTK 组合框样式不正确

如何解决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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。