现在我有了这段代码:
tree = ttk.Treeview(root)
style = ttk.Style()
style.configure("Treeview", foreground='#00337f',background="#ffc61e")
style.configure("Treeview.Heading", background="purple",foreground='#00337f',font=(20))
tree["columns"] = ("one", "two", "three")
tree.column("one", width=150)
tree.column("two", width=150)
tree.column("three", width=210)
tree.heading("one", text="Naar")
tree.heading("two", text="Spoor")
tree.heading("three", text="Vetrektijd")
tree.tag_configure('monospace', font=20)
tree['show'] = 'headings'
tree.place(x=0, y=0)
除了3件事以外,一切正常:
每当我运行程序时,树视图背景仍然是白色的,但它从一开始就需要是黄色的。现在,只要树视图填满,它就会变黄。
第二个问题是我将标题的背景更改为紫色,如上面的代码所示,但它仍然是白色的。那我怎么能把它变成紫色呢?
第三个问题是树视图填满后仍有一行:
答案 0 :(得分:0)
第一个问题可以通过在fieldbackground="#ffc61e"
样式的配置中添加Treeview
来解决。背景选项仅对应于项目的背景。但是,并非所有主题都考虑fieldbackground
选项(请参阅第二个问题)。
第二个问题是主题相关。你正在使用的主题不支持标题的颜色变化,所以我建议你使用另一个像'蛤蜊'或者' alt':style.theme_use('clam')
。
要删除标题中按钮的边框,可以将边框宽度设置为0:
style.configure("Treeview.Heading", borderwidth=0)
。
不幸的是,这对Treeview边框不起作用,因此解决方法是将边框的所有颜色设置为背景颜色:
style.configure("Treeview", lightcolor="#ffc61e", bordercolor="#ffc61e",
darkcolor="#ffc61e")