Hintergrundfarbe in tkinter.ttk.Treeview

Fragen zu Tkinter.
Antworten
snowflake
User
Beiträge: 93
Registriert: Mittwoch 9. November 2016, 15:46

Guten Morgen zusammen,

nach der Deinstallation von Python 3.5.1 und der Installation von Python 3.8.6 kann ich keine Hintergrundfarbe mehr den einzelnen Zeilen in der Tabelle ttk.Treeview zuweisen. Ich verwende Windows 10 2004.

In der vorherigen Version funktionierte das wie folgt ohne Probleme:

Code: Alles auswählen


LNWtree.tag_configure("ZG", background="gray60", foreground='white', image=piczg)

LNWtree.insert("" , "end", iid=a, values=(a, satz[0], satz[1], satz[2], satz[3], satz[4], satz[5], satz[6], satz[7], satz[8], satz[9], satz[10]), tag="ZG")

Kann mir jemand sagen, woran das liegen könnte?

Vielen Dank und viele Grüße

snowflake
snowflake
User
Beiträge: 93
Registriert: Mittwoch 9. November 2016, 15:46

Hallo zusammen,

habe eine Lösung zwischenzeitlich im Netz gefunden. Hier das Beispiel:

Code: Alles auswählen

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

def fixed_map(option):
    # Returns the style map for 'option' with any styles starting with
    # ("!disabled", "!selected", ...) filtered out

    # style.map() returns an empty list for missing options, so this should
    # be future-safe
    return [elm for elm in style.map("Treeview", query_opt=option)
            if elm[:2] != ("!disabled", "!selected")]

style = ttk.Style()
style.map("Treeview", foreground=fixed_map("foreground"), background=fixed_map("background"))

tree = ttk.Treeview()
style = ttk.Style()
style.configure('Treeview', background='red')
tree.pack()
for i in range(10):
    tree.insert("", "end", text="Item %s" % i, tag=i)
    if i % 2:
        tree.tag_configure(i, background='yellow')
root.mainloop()
Hier noch die passenden Links dazu:
viewtopic.php?f=18&t=45490&p=345201&hil ... be#p345201
https://core.tcl-lang.org/tk/tktview?name=509cafafae

Viele Grüße
snowflake
Antworten