You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter Treeview自定义样式后边框及条目分隔线消失问题咨询

解决Tkinter Treeview自定义样式后边框及分隔线消失的问题

问题根源是自定义样式时未继承默认Treeview的基础样式,导致默认的边框、行分隔线等属性被覆盖丢失。只需在自定义样式时指定继承父样式即可修复:

修改你的样式配置代码,在configure方法中添加parent="Treeview",让自定义的fordefect.Treeview继承默认Treeview的所有基础样式,再覆盖你需要自定义的属性:

style_defect = ttk.Style()
# 关键:添加parent="Treeview"继承默认样式
style_defect.configure("fordefect.Treeview", 
                       parent="Treeview",
                       background="#FFDEAD", 
                       foreground="black", 
                       fieldbackground="#FFDEAD",
                       font=(None, 14), 
                       rowheight=30)
style_defect.configure('fordefect.Treeview.Heading', 
                       background="white", 
                       font=('calibre', 14,"bold"))
style_defect.map('fordefect.Treeview', 
                 background=[('selected', '#1E90FF')], 
                 foreground=[('selected', 'white')])
self.tree = ttk.Treeview(frametree, height=26, style="fordefect.Treeview")

另外注意:你之前代码里的sheight是无效属性,ttk Treeview没有这个配置项,直接删除即可。

修改后,自定义样式会保留默认Treeview的边框和行分隔线,同时应用你设置的背景、字体、行高这些自定义属性。

内容的提问来源于stack exchange,提问作者Prashant Priyadarshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 08:22:50