在Treevi中改变一行的颜色

2024-05-13 21:49:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在下面的Python代码中,我尝试更改Treeview表中行的颜色。它不起作用。我试着用tag.configure但是。。。 正如您所看到的,函数所做的是从sql数据库中提取数据并将其放在Treeview表中,根据行的不同,颜色应该不同,但不起作用。。。你能帮忙吗

from tkinter import *
from tkinter import ttk
import sqlite3

root=Tk()

FrameTabla=Frame(root)
FrameTabla.pack()
def mostrar_items():


    miConexion=sqlite3.connect("database")
    miCursor=miConexion.cursor()


    miCursor.execute("SELECT * FROM DATABASE ORDER BY USERID DESC")

    lista=miCursor.fetchall()

    for i in lista:


        if lista.index(i) % 2 == 0:
            Tabla.insert('', 0, text=i[0], values=(i[1], i[2]), tags=('par',))


        else: 
            Tabla.insert('', 0, text=i[0], values=(i[1], i[2]), tags=('impar',))

    miConexion.close()



Tabla=ttk.Treeview(FrameTabla, heigh=20, columns=("Nombre", "Apellido"))
Tabla.grid(row=0, column=0, columnspan=3)
Tabla.tag_configure('par',background='white',foreground='black')
Tabla.tag_configure('impar',background='black',foreground='white')
Tabla.heading('#0', text = 'UserID', anchor = CENTER)
Tabla.heading('Nombre', text = 'Nombre', anchor = CENTER)
Tabla.heading('Apellido', text = 'Apellido', anchor = CENTER)
Tabla.column('#0', width=120, anchor= CENTER)
Tabla.column('Nombre', anchor = CENTER)
Tabla.column('Apellido', anchor = CENTER)

ScrollVert=Scrollbar(FrameTabla, command=Tabla.yview)
ScrollVert.grid(row=0, column=4, sticky='nsew')

mostrar_items()

root.mainloop()

Tags: textimportconfiguretagcolumnrootcenteranchor