簡體   English   中英

如何更改Tkinter ttk.Treeview單元的焦點樣式

[英]How to change the focus styling of a tkinter ttk.Treeview cell

即使我的Treeview具有選項takefocue=False ,單元格中的文本仍會以某種方式成為焦點。 具體來說,當我執行tree.insert('', tk.END, text='Some Text', values=5)時,文本列將成為焦點,這意味着Some Text周圍有一條虛線。 我可以找到該資源 ,但是不確定是否需要更改布局字符串。

根據Tcl / Tk Wiki,可以使用以下5種樣式來自定義ttk.Treeview()小部件:

"Treeview"
"Treeview.Heading"
"Treeview.Row"
"Treeview.Cell"
"Treeview.Item"

使用.layout() ,您可以檢索每種樣式的布局規格:

style = ttk.Style()
style.layout("Treeview.Item") 

事實證明, "Treeview.Item"樣式具有"Treeitem.focus"布局標記。 如果在覆蓋布局時將其注釋掉 ,則焦點繪圖行為(和虛線)將消失:

style = ttk.Style()

style.layout("Treeview.Item",
[('Treeitem.padding', {'sticky': 'nswe', 'children': 
    [('Treeitem.indicator', {'side': 'left', 'sticky': ''}),
    ('Treeitem.image', {'side': 'left', 'sticky': ''}),
    #('Treeitem.focus', {'side': 'left', 'sticky': '', 'children': [
         ('Treeitem.text', {'side': 'left', 'sticky': ''}),
    #]})
    ],
})]
)

在此處輸入圖片說明

暫無
暫無

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

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