【发布时间】:2021-09-19 09:10:19
【问题描述】:
我正在尝试更改其中一个树视图小部件标题的背景颜色。但是,对于两个树视图小部件,它都会发生变化。我希望“Tree2”标题有不同的背景,而“Tree1”没有任何颜色。我究竟做错了什么? 下面是我的代码。
环境:Windows 10 19043.1165 Python 3.9.6
import tkinter as objTK
from tkinter import ttk as objTTK
# Create window
objWindow = objTK.Tk()
# Initialise variables
arrHdr = ["Hdr1", "Hdr2"]
arrData = ["Test1", "Test2"]
# ------------ Treeview 1
fFrame1 = objTK.LabelFrame(objWindow, text="Tree 1")
treeView1 = objTTK.Treeview(columns=arrHdr, show="headings")
treeView1.grid(column=0, row=0, sticky="nsew", in_=fFrame1)
fFrame1.grid_columnconfigure(0, weight=1)
fFrame1.grid_rowconfigure(0, weight=1)
treeView1.heading(0, text="Hd1")
treeView1.heading(1, text="Hd2")
treeView1.insert("", "end", values=arrData)
fFrame1.pack()
# ------------ Treeview 2
fFrame2 = objTK.LabelFrame(objWindow, text="Tree 2")
treeView2 = objTTK.Treeview(columns=arrHdr, show="headings")
objStyle = objTTK.Style(treeView2)
objStyle.theme_use("clam")
objStyle.configure("Treeview.Heading", background="#c3c3c3")
treeView2.grid(column=0, row=0, sticky="nsew", in_=fFrame2)
fFrame2.grid_columnconfigure(0, weight=1)
fFrame2.grid_rowconfigure(0, weight=1)
treeView2.heading(0, text="Hd1")
treeView2.heading(1, text="Hd2")
treeView2.insert("", "end", values=arrData)
fFrame2.pack()
objWindow.bind("<Escape>", lambda wExit: objWindow.destroy())
objWindow.mainloop()
【问题讨论】:
标签: python-3.x tkinter treeview