如何完全更改 tkinter.ttk Treeview 的背景颜色
How to fully change the background color on a tkinter.ttk Treeview
我一直在尝试为我最近在 python 3.4.4 中使用 tkinter 开发的项目制作目录浏览器。我不希望背景成为默认颜色,因此我着手更改大多数小部件的背景。在我到达 Treeview 之前,我没有遇到任何麻烦。我不太擅长 ttk.Style(),但我还是设法得到了
ttk.Style().configure("Treeview", background="black",
foreground="white")
有效,但这只会更改小部件中包含的区域的背景。
我检查了一下是否是调整大小的问题,但似乎一切正常。我还在网上寻找类似的问题,认为我做错了,发现两个链接指向 Bryan Oakley 在 2007 年遇到了同样的问题。
Bryan Oakley Re: how to get a ttk::treeview with no border
how to create a ttk::treeview without a border?
基本上,结论是这是 运行 在 windows 时的一个错误。因此,我留下了 3 个一般性问题:
我是不是完全遗漏了一些明显的东西并且误解了这些帖子(在这里交叉手指),如果是的话我做错了什么?或者,如果这真的是一个错误,自 2007 年以来是否有任何解决方案?最后,如果没有任何解决方案,是否有人找到了解决该问题的方法,无论解决方案多么棘手?
改为使用此代码:
ttk.Style().configure("Treeview", background="black",
foreground="white", fieldbackground="black")
希望这对你有所帮助,
雅丽.
要使 Treeview 的背景全黑,Treeview 样式的 background
和 fieldbackground
选项都需要设置为黑色。
此外,并非所有 ttk 主题都支持 fieldbackground
选项,例如 "xpnative" 和 "vista" 主题。
代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
style = ttk.Style(root)
# set ttk theme to "clam" which support the fieldbackground option
style.theme_use("clam")
style.configure("Treeview", background="black",
fieldbackground="black", foreground="white")
tree = ttk.Treeview(root)
tree.insert("", 0, "item", text="item")
tree.pack()
root.mainloop()
我一直在尝试为我最近在 python 3.4.4 中使用 tkinter 开发的项目制作目录浏览器。我不希望背景成为默认颜色,因此我着手更改大多数小部件的背景。在我到达 Treeview 之前,我没有遇到任何麻烦。我不太擅长 ttk.Style(),但我还是设法得到了
ttk.Style().configure("Treeview", background="black",
foreground="white")
有效,但这只会更改小部件中包含的区域的背景。
我检查了一下是否是调整大小的问题,但似乎一切正常。我还在网上寻找类似的问题,认为我做错了,发现两个链接指向 Bryan Oakley 在 2007 年遇到了同样的问题。
Bryan Oakley Re: how to get a ttk::treeview with no border
how to create a ttk::treeview without a border?
基本上,结论是这是 运行 在 windows 时的一个错误。因此,我留下了 3 个一般性问题:
我是不是完全遗漏了一些明显的东西并且误解了这些帖子(在这里交叉手指),如果是的话我做错了什么?或者,如果这真的是一个错误,自 2007 年以来是否有任何解决方案?最后,如果没有任何解决方案,是否有人找到了解决该问题的方法,无论解决方案多么棘手?
改为使用此代码:
ttk.Style().configure("Treeview", background="black",
foreground="white", fieldbackground="black")
希望这对你有所帮助,
雅丽.
要使 Treeview 的背景全黑,Treeview 样式的 background
和 fieldbackground
选项都需要设置为黑色。
此外,并非所有 ttk 主题都支持 fieldbackground
选项,例如 "xpnative" 和 "vista" 主题。
代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
style = ttk.Style(root)
# set ttk theme to "clam" which support the fieldbackground option
style.theme_use("clam")
style.configure("Treeview", background="black",
fieldbackground="black", foreground="white")
tree = ttk.Treeview(root)
tree.insert("", 0, "item", text="item")
tree.pack()
root.mainloop()