ttk.Treeview 移除行焦点颜色
ttk.Treeview remove row focus color
我想删除 ttk.Treeview
中的焦点颜色,同时保持 table 行可点击并保留指定的背景颜色。这是我的 MWE,树视图为 table:
try:
import Tkinter as Tk
from Tkinter import ttk
except ModuleNotFoundError:
import tkinter as Tk
from tkinter import ttk
if __name__ == '__main__':
root = Tk.Tk()
frame = Tk.Frame(root)
tree = ttk.Treeview(frame.master, columns=("Col1", "Col2", "Col3"), show="headings")
tree.heading('Col1', text="Col1")
tree.heading('Col2', text="Col2")
tree.heading('Col3', text="Col3")
tree.tag_configure('even', background="#e8e8e8")
tree.pack()
tree.insert("", "end", values=(1, 2, 3))
tree.insert("", "end", values=(4, 5, 6), tags=('even',))
tree.insert("", "end", values=(7, 8, 9))
tree.insert("", "end", values=(10, 11, 12), tags=('even',))
tree.insert("", "end", values=(13, 14, 15))
tree.insert("", "end", values=(16, 17, 18), tags=('even',))
tree.insert("", "end", values=(19, 20, 21))
这可以通过 ttk.Style
:
style = ttk.Style(root)
style.map('my.Treeview', background=[], foreground=[])
tree = ttk.Treeview(root, style='my.Treeview', ...)
如果您不想删除选择颜色,而是想更改它:
style.map('my.Treeview', background=[('selected', bgcolor)],
foreground=[('selected', fgcolor)])
此外,如果您在执行此操作后丢失了一些其他效果(例如禁用的背景颜色),您可以在更改之前查看映射是什么:
>>> style.map('Treeview')
{'foreground': [('disabled', '#a3a3a3'), ('selected', '#ffffff')],
'background': [('disabled', '#d9d9d9'), ('selected', '#4a6984')]}
并在映射列表中添加有关禁用颜色的部分:
style.map('my.Treeview', background=[('disabled', '#d9d9d9')], foreground=[('disabled', '#a3a3a3')])
我想删除 ttk.Treeview
中的焦点颜色,同时保持 table 行可点击并保留指定的背景颜色。这是我的 MWE,树视图为 table:
try:
import Tkinter as Tk
from Tkinter import ttk
except ModuleNotFoundError:
import tkinter as Tk
from tkinter import ttk
if __name__ == '__main__':
root = Tk.Tk()
frame = Tk.Frame(root)
tree = ttk.Treeview(frame.master, columns=("Col1", "Col2", "Col3"), show="headings")
tree.heading('Col1', text="Col1")
tree.heading('Col2', text="Col2")
tree.heading('Col3', text="Col3")
tree.tag_configure('even', background="#e8e8e8")
tree.pack()
tree.insert("", "end", values=(1, 2, 3))
tree.insert("", "end", values=(4, 5, 6), tags=('even',))
tree.insert("", "end", values=(7, 8, 9))
tree.insert("", "end", values=(10, 11, 12), tags=('even',))
tree.insert("", "end", values=(13, 14, 15))
tree.insert("", "end", values=(16, 17, 18), tags=('even',))
tree.insert("", "end", values=(19, 20, 21))
这可以通过 ttk.Style
:
style = ttk.Style(root)
style.map('my.Treeview', background=[], foreground=[])
tree = ttk.Treeview(root, style='my.Treeview', ...)
如果您不想删除选择颜色,而是想更改它:
style.map('my.Treeview', background=[('selected', bgcolor)],
foreground=[('selected', fgcolor)])
此外,如果您在执行此操作后丢失了一些其他效果(例如禁用的背景颜色),您可以在更改之前查看映射是什么:
>>> style.map('Treeview')
{'foreground': [('disabled', '#a3a3a3'), ('selected', '#ffffff')],
'background': [('disabled', '#d9d9d9'), ('selected', '#4a6984')]}
并在映射列表中添加有关禁用颜色的部分:
style.map('my.Treeview', background=[('disabled', '#d9d9d9')], foreground=[('disabled', '#a3a3a3')])