python - 如何完全改变 tkinter.ttk Treeview 的背景颜色

标签 python tkinter treeview ttk

我一直在尝试为我最近在 python 3.4.4 中使用 tkinter 开发的项目制作目录浏览器。我不希望背景成为默认颜色,因此我着手更改大多数小部件的背景。在我到达 Treeview 之前,我没有遇到任何麻烦。我不太擅长 ttk.Style(),但我还是设法得到了

ttk.Style().configure("Treeview", background="black",
                foreground="white")

可以工作,但是这只会更改小部件中包含的区域的背景。 Error

我检查了是否是调整大小的问题,但一切似乎都井井有条。我还在网上寻找类似的问题,认为我做错了,发现两个链接指向 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 年以来是否有任何解决方案?最后,如果没有任何解决方案,是否有人找到了解决该问题的方法,无论解决方案多么棘手?

最佳答案

要使 Treeview 的背景全黑,需要将 Treeview 样式的 backgroundfieldbackground 选项设置为黑色。

此外,并非所有 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 - 如何完全改变 tkinter.ttk Treeview 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43816930/

相关文章:

python - GIS:在 Python 中合并多重多边形

python - 值错误: Can't handle mix of multilabel-indicator and continuous-multioutput accuracy_score()

python - 函数完成后,按钮调用的线程不会退出

python - 从 SQLAlchemy 中删除多对多匹配错误的行数

python - 在 Python 中创建目录然后打开其中的文件时出错,但如果目录已存在则不会出错

python - Tkinter - 在禁用的文本框中拖动鼠标停止更新()

python - 改变 xpnative 主题中 ttk.Progressbar 元素的颜色 - python

jquery - Ruby on Rails 3.1 的 Treeview gem

java - 为什么此 FXML 应用程序中不显示 TreeView 根?

c# - 将 XML 解析为 Treeview 列表