python - TTK 组合框样式不正确
问题描述
我一直在尝试创建一个适合我 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")
上面的代码是使用本网站作为参考制作的。
请注意,self.theme.get('bg')
返回 #202020
解决方案
造成的不便,深表歉意; 我决定保留这个线程,以防其他人需要帮助。事实证明,使用以下命令创建父容器会使ttk
对象无法正确设置样式:
self.root = tk.Tk()
将上述命令更改为以下命令解决了我遇到的问题:
self.root = tk.Toplevel()
推荐阅读
- visual-studio-code - 如何在 VS Code 中的同一文件的其他拆分选项卡中打开“转到定义”?
- google-cloud-platform - 如何在不关闭服务的情况下对存储桶进行快照?
- php - laravel 项目的 Nginx 设置,该项目的路由以“.php”结尾
- javascript - 更改文本区域的值,使其反应道具“值”发生变化
- shell - 意外标记“完成”附近的语法错误 - Shell 脚本
- java - 如何从辅助类调用方法?
- php - PHP - PHPSESSID 欺骗
- thread-safety - 将 Observables 合并到一个 Observable 时是 Observable doOnNext 线程安全的吗
- laravel - 使用 laravel vue js 在 axios 成功响应上关闭父模式并打开子模式
- node.js - 将参数传递给 Node.js 程序