2

为什么我的桌子没有根据我定义的改变样式?我尝试使用样式和地图并没有改变任何东西。似乎唯一有效的是主题配置。滚动条也不显示在 Treeview 中。

from tkinter import *
from tkinter import ttk

class Dashboard:

def __init__(self, filterdDf):

    self.filterdDf = filterdDf

    root =Tk()
    root.title('Dashboard')
    root.geometry('1300x690')
    root.resizable(False, False)

    frame = Frame(root, width=1100, height=690)
    frame.configure(background="gray28")
    frame.pack(fill=BOTH, expand=True)

    rows = len(filterdDf)

    tree = ttk.Treeview(root, columns=(1, 2), height=rows, show="headings")
    tree.pack(side='left')
    tree.place(x=700, y=150)

    #Add some style:
    style = ttk.Style()

    style.theme_use("clam")

    style.configure("Treeview",
                    background="silver",
                    foreground="black",
                    rowheight=55,
                    fieldbackground="silver")

    #Change selected color:
    style.map("Treeview",
              background=[('selected', 'green')])

    tree.heading("#0", text="Label", anchor=W)
    tree.heading("#1", text="Approach", anchor=CENTER)
    tree.heading("#2", text="Recommendation", anchor=CENTER)

    tree.column("#0", width=120, minwidth=25)
    tree.column("#1", width=300, minwidth=25, anchor=W)
    tree.column("#2", width=150, minwidth=25, anchor=CENTER)

    scroll = ttk.Scrollbar(frame, orient="vertical", command=tree.yview)
    scroll.pack(side='right', fill='y')

    tree.configure(yscrollcommand=scroll.set)

    for i in range(rows):
        tree.insert(parent='', index='end', values=(filterdDf[('Approaches', 'All')].iloc[i],
                                       filterdDf[('Recommendation Level', '')].iloc[i]))

    root.mainloop()

这就是我的 Treeview 的样子:2 列填充了数据。谢谢!

在此处输入图像描述

这就是样式配置的外观(不同的数据但相同的配置):

在此处输入图像描述

4

0 回答 0