Я хочу, чтобы моя таблица 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"))
Я действительно не знаю, что происходит.
-какую версию python вы используете (python -V) в cmd
-последняя версия (3.7) Python, кажется, имеет ошибки для цветных тегов
-если вы используете последнюю версию, просто установите python 3.6
- один из ваших тегов не имеет цвета
self.Tabla.tag_configure("impar", background = "#ff008c")
рад, что вы нашли это полезным!
Моя точная версия — Python 3.7.3. Это правда, что я обновляю ее, но у меня всегда была версия 3.7, и до обновления эта функция работала отлично, хотя у меня не было цвета для тега «impar» (это просто остался с дефолтным белым)