簡體   English   中英

如何在tkinter.ttk Treeview上完全更改背景顏色

[英]How to fully change the background color on a tkinter.ttk Treeview

我一直在嘗試為我最近的一個項目創建一個目錄瀏覽器,我正在使用tkinter在python 3.4.4中進行開發。 我不希望背景成為默認顏色,所以我已經改變了大多數小部件的背景。 在我到Treeview之前,我沒有遇到任何麻煩。 我對ttk.Style()不太好,但我還是設法得到了

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

工作,但這只會改變小部件中包含的區域的背景。 錯誤

我檢查了它是否是一個調整大小的問題,但一切似乎都是有序的。 我也在網上尋找類似的問題,認為我做錯了,發現兩條指向Bryan Oakley的鏈接在2007年有同樣的問題。

Bryan Oakley Re:如何獲得沒有邊框的ttk :: treeview

如何創建沒有邊框的ttk :: treeview?

基本上,結論是這是在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()

使用此代碼代替:

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

希望這對你有幫助,

Yahli。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM