即使我的Treeview有选项takefocue=False
,单元格中的文本仍然以某种方式聚焦。特别是我tree.insert('', tk.END, text='Some Text', values=5)
时的文本列正在关注焦点,这意味着Some Text
周围有一条虚线。我能够找到这个resource,但我不确定我需要更改的布局字符串。
答案 0 :(得分:2)
根据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"
布局标记。如果在覆盖布局时comment it out,焦点绘制行为(和虚线)将消失:
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': ''}),
#]})
],
})]
)