Suche…


Einführung

Der Stil der neuen ttk-Widgets ist einer der mächtigsten Aspekte von ttk. Abgesehen von der Tatsache, dass dies eine völlig andere Funktionsweise als das herkömmliche tk-Paket ist, können Sie Ihre Widgets in sehr hohem Maße anpassen.

Passen Sie eine Baumansicht an

Anhand von Treeview: Grundlegendes Beispiel kann gezeigt werden, wie eine grundlegende Baumansicht angepasst wird.

In diesem Fall erstellen wir einen Stil "mystyle.Treeview" mit dem folgenden Code (siehe die Kommentare, um zu verstehen, was jede Zeile macht):

style = ttk.Style()
style.configure("mystyle.Treeview", highlightthickness=0, bd=0, font=('Calibri', 11)) # Modify the font of the body
style.configure("mystyle.Treeview.Heading", font=('Calibri', 13,'bold')) # Modify the font of the headings
style.layout("mystyle.Treeview", [('mystyle.Treeview.treearea', {'sticky': 'nswe'})]) # Remove the borders

Dann wird das Widget mit dem obigen Stil erstellt:

tree=ttk.Treeview(master,style="mystyle.Treeview")

Wenn Sie abhängig von den Zeilen ein anderes Format haben möchten, können Sie tags :

tree.insert(folder1, "end", "", text="photo1.png", values=("23-Jun-17 11:28","PNG file","2.6 KB"),tags = ('odd',))
tree.insert(folder1, "end", "", text="photo2.png", values=("23-Jun-17 11:29","PNG file","3.2 KB"),tags = ('even',))
tree.insert(folder1, "end", "", text="photo3.png", values=("23-Jun-17 11:30","PNG file","3.1 KB"),tags = ('odd',))

Dann kann zum Beispiel eine Hintergrundfarbe den Tags zugeordnet werden:

tree.tag_configure('odd', background='#E8E8E8')
tree.tag_configure('even', background='#DFDFDF')

Das Ergebnis ist eine Baumansicht mit geänderten Schriftarten sowohl im Hauptteil als auch in den Überschriften, ohne Rand und unterschiedlichen Farben für die Zeilen:

Geben Sie hier die Bildbeschreibung ein

Hinweis: Um das obige Bild zu generieren, sollten Sie die oben genannten Codezeilen im Beispiel Treeview: Basic-Beispiel hinzufügen / ändern.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow