如何更改 Treeview 的背景颜色 [英] How to change the background color of a Treeview

查看:84
本文介绍了如何更改 Treeview 的背景颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是来问你如何改变树状视图的背景的,我试过了

I'm here to ask you how to change background of a treeview, I tried that

ttk.Style().configure("Treeview", background="#383838")

它仅适用于单元格,但其余的 Treeview 保持白色.

It's work perfectly just for the cell, but the rest of the Treeview stay white.

我试图改变窗口的背景,框架也一样,但它不起作用.

I tried to change the background of the window, the frame too, but it does not work.

那么,如何做到这一点,我相信你知道.

So, how to do that, i'm sure that you know.

再见并提前致谢:)

代码

from tkinter import *
from tkinter import ttk

p=Tk()

separator = PanedWindow(p,bd=0,bg="#202322",sashwidth=2)

separator.pack(fill=BOTH, expand=1)

_frame = Frame(p,bg="#383838")

t=ttk.Treeview(_frame)

t["columns"]=("first","second")
t.column("first",anchor="center" )
t.column("second")
t.heading("first",text="first column")
t.heading("second",text="second column")
t.insert("",0,"dir1",text="directory 1")
t.insert("dir1","end","dir 1",text="file 1 1",values=("file 1 A","file 1 B"))
id=t.insert("","end","dir2",text="directory 2")
t.insert("dir2","end",text="dir 2",values=("file 2 A","file 2 B"))
t.insert(id,"end",text="dir 3",values=("val 1 ","val 2"))
t.insert("",0,text="first line",values=("first line 1","first line 2"))
t.tag_configure("ttk",foreground="black")

ysb = ttk.Scrollbar(orient=VERTICAL, command= t.yview)
xsb = ttk.Scrollbar(orient=HORIZONTAL, command= t.xview)
t['yscroll'] = ysb.set
t['xscroll'] = xsb.set

ttk.Style().configure("Treeview", background="#383838",foreground="white")
p.configure(background='black')

t.grid(in_=_frame, row=0, column=0, sticky=NSEW)
ysb.grid(in_=_frame, row=0, column=1, sticky=NS)
xsb.grid(in_=_frame, row=1, column=0, sticky=EW)
_frame.rowconfigure(0, weight=1)
_frame.columnconfigure(0, weight=1)

separator.add(_frame)

w = Text(separator)
separator.add(w)

p.mainloop()

推荐答案

缺少的选项是 fieldbackground 我只是偶然发现的 示例中.所以如果你把它添加到样式声明中

The missing option is fieldbackground which I only found by accident in an example. So if you add it to the style declaration

ttk.Style().configure("Treeview", background="#383838", 
 foreground="white", fieldbackground="red")

它可以如你所愿.我使用 red 使更改非常明显;显然你会想要改变它以获得更大的色彩和谐.

it works as you'd like. I used red to make the change very visible; obviously you'll want to change that for greater color harmony.

这篇关于如何更改 Treeview 的背景颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆