Я хочу, чтобы у моего ttk.treeview были чередующиеся цвета - PullRequest
1 голос
/ 28 мая 2019

Я хочу, чтобы моя таблица ttl.treeview имела чередующийся образец цветов, и я попытался добавить теги и выделить фон каждой нечетной строки с помощью метода tag_configure, но я не смог.

Каждая строка - это строка, взятая из таблицы БД, которую я хочу показать.

Я также пытался сделать это в маленькой и отдельной программе, но она также не была эффективной.

def show(self, row, column, rowspan):
    self.row = row
    self.column = column
    self.rowspan = rowspan
    global FondoBase


    self.Tabla = ttk.Treeview(FondoBase, columns=self.Columnas[1:], height=40)

    self.Tabla.heading("#0", text=self.Columnas[0])
    for i in self.Columnas[1:]:
        self.Tabla.heading("{}".format(i), text="{}".format(i))

    self.Tabla.grid(row=row, column=column, rowspan=rowspan, sticky="e", pady=30)
    scrol = Scrollbar(FondoBase, command=self.Tabla.yview)

    self.Tabla.config(yscrollcommand=scrol.set)


    scrol.grid(row=row, column=column+1, sticky="wns", rowspan=rowspan, pady=30)



    Conexion = connect('{}'.format(Directorio))

    with Conexion:

        Seleccion = Conexion.cursor()

        Seleccion.execute("""SELECT * FROM {}""".format(self.nombre))

        resultado = Seleccion.fetchall()


    for i in range(len(resultado)):
        if i%2 == 0:
        self.Tabla.insert("", i, text="{}".format(resultado[i][0]), values=(resultado[i][1:]), tags=("par"))
            self.Tabla.tag_configure("par", background="#00ffff")

        else:
            self.Tabla.insert("", i, text="{}".format(resultado[i][0]), values=(resultado[i][1:]), tags=("impar"))

Я действительно не знаю, что происходит.

1 Ответ

0 голосов
/ 29 мая 2019

- какую версию python вы используете (python -V) в cmd

- последняя версия (3.7) python, похоже, содержит ошибки в цветовых тегах

- если вашиспользуя последнюю версию, просто установите python 3.6

- один из ваших тегов не имеет цвета

self.Tabla.tag_configure("impar", background="#ff008c")
...