在同一程序中使用多个 Tkinter Treeview 样式
Using Multiple Tkinter Treeview Styles in same program
我好像找不到这个问题的答案。我在我的程序中使用了几个 Tkinter 树视图。当我改变一个的风格时,它会改变所有的人。我错过了什么?这是我为一个写的代码,它重复了四次(其他颜色不同)
style = ttk.Style()
#style.theme_use("default")
style.configure("Treeview",background="Black", foreground="White",fieldbackground="red")
style.map('Treeview', background=[('selected','#3c3737')],foreground=[('selected','white')])
my_tree = ttk.Treeview(my_canvas2,height=1000)
您可以使用 style.configure("<custom_name>.<widget_type>"...
创建自定义小部件样式。所以,如果你想创建一个自定义的“Treevew”样式,你可以使用 style.configure("MyCustom.Treeview"...)
.
然后您将创建一个 ttk
小部件并将自定义小部件样式作为 style
参数传递,例如 my_treeview = ttk.Treeview(master, style="MyCustom.Treeview")
。这是一个示例程序,它创建两个不同的 ttk.TreeView
s,具有不同的样式:
import tkinter
from tkinter import ttk
w = tkinter.Tk()
style = ttk.Style()
style.configure("Custom1.Treeview",background="Black", foreground="White",fieldbackground="red")
style.map('Custom1.Treeview', background=[('selected','#3c3737')],foreground=[('selected','white')])
style.configure("Custom2.Treeview",background="Greed", foreground="Purple",fieldbackground="pink")
style.map('Custom2.Treeview', background=[('selected','#3c3737')],foreground=[('selected','white')])
my_tree1 = ttk.Treeview(w, height=1000, style="Custom1.Treeview")
my_tree1.pack(side="left")
my_tree2 = ttk.Treeview(w, height=1000, style="Custom2.Treeview")
my_tree2.pack(side="right")
w.mainloop()
我好像找不到这个问题的答案。我在我的程序中使用了几个 Tkinter 树视图。当我改变一个的风格时,它会改变所有的人。我错过了什么?这是我为一个写的代码,它重复了四次(其他颜色不同)
style = ttk.Style()
#style.theme_use("default")
style.configure("Treeview",background="Black", foreground="White",fieldbackground="red")
style.map('Treeview', background=[('selected','#3c3737')],foreground=[('selected','white')])
my_tree = ttk.Treeview(my_canvas2,height=1000)
您可以使用 style.configure("<custom_name>.<widget_type>"...
创建自定义小部件样式。所以,如果你想创建一个自定义的“Treevew”样式,你可以使用 style.configure("MyCustom.Treeview"...)
.
然后您将创建一个 ttk
小部件并将自定义小部件样式作为 style
参数传递,例如 my_treeview = ttk.Treeview(master, style="MyCustom.Treeview")
。这是一个示例程序,它创建两个不同的 ttk.TreeView
s,具有不同的样式:
import tkinter
from tkinter import ttk
w = tkinter.Tk()
style = ttk.Style()
style.configure("Custom1.Treeview",background="Black", foreground="White",fieldbackground="red")
style.map('Custom1.Treeview', background=[('selected','#3c3737')],foreground=[('selected','white')])
style.configure("Custom2.Treeview",background="Greed", foreground="Purple",fieldbackground="pink")
style.map('Custom2.Treeview', background=[('selected','#3c3737')],foreground=[('selected','white')])
my_tree1 = ttk.Treeview(w, height=1000, style="Custom1.Treeview")
my_tree1.pack(side="left")
my_tree2 = ttk.Treeview(w, height=1000, style="Custom2.Treeview")
my_tree2.pack(side="right")
w.mainloop()