[英]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.