Zoeken…


Invoering

Voorbeelden van de verschillende ttk-widgets. Ttk heeft in totaal 17 widgets, waarvan elf al in tkinter (tk) bestonden.

Het gebruik van de ttk-module geeft uw toepassing een modernere en verbeterde uitstraling.

Syntaxis

  • boom = ttk.Treeview (master, ** kwargs)

parameters

Parameter Beschrijving
meester tkinter-widgets bestaan in een hieararchie. Behalve het root-venster hebben alle widgets een ouder (ook "master" genoemd). Wanneer de widget met pakket, plaats of raster aan het scherm wordt toegevoegd, verschijnt deze in deze bovenliggende widget

Opmerkingen

Deze voorbeelden gaan ervan uit dat tkinter is geïmporteerd met import tkinter as tk (python 3) of import Tkinter as tk (python 2).

Er wordt ook aangenomen dat ttk is geïmporteerd met ofwel from tkinter import ttk (python 3) of import ttk (python 2).

Treeview: eenvoudig voorbeeld

Deze widget wordt gebruikt om items met hiërarchie weer te geven. Windows Explorer kan bijvoorbeeld op deze manier worden gereproduceerd. Sommige mooie tabellen kunnen ook worden gedaan met behulp van de treeview widget.

Maak de widget

tree=ttk.Treeview(master)

Definitie van de kolommen

U kunt bepalen hoeveel kolommen, hun breedte en minimumbreedte wanneer de gebruiker het probeert uit te rekken. Door stretch=tk.NO definiëren, kan de gebruiker de breedte van de kolom niet wijzigen.

tree["columns"]=("one","two","three")
tree.column("#0", width=270, minwidth=270, stretch=tk.NO)
tree.column("one", width=150, minwidth=150, stretch=tk.NO)
tree.column("two", width=400, minwidth=200)
tree.column("three", width=80, minwidth=50, stretch=tk.NO)

Definitie van de rubrieken

tree.heading("#0",text="Name",anchor=tk.W)
tree.heading("one", text="Date modified",anchor=tk.W)
tree.heading("two", text="Type",anchor=tk.W)
tree.heading("three", text="Size",anchor=tk.W)

Voeg enkele rijen in

# Level 1
folder1=tree.insert("", 1, "", text="Folder 1", values=("23-Jun-17 11:05","File folder",""))
tree.insert("", 2, "", text="text_file.txt", values=("23-Jun-17 11:25","TXT file","1 KB"))
# Level 2
tree.insert(folder1, "end", "", text="photo1.png", values=("23-Jun-17 11:28","PNG file","2.6 KB"))
tree.insert(folder1, "end", "", text="photo2.png", values=("23-Jun-17 11:29","PNG file","3.2 KB"))
tree.insert(folder1, "end", "", text="photo3.png", values=("23-Jun-17 11:30","PNG file","3.1 KB"))

Inpakken

tree.pack(side=tk.TOP,fill=tk.X)

In Windows kan de volgende schermafbeelding uit dit voorbeeld worden verkregen.

Schermafbeelding van de treeview-widget op Windows

Voortgangsbalk

De widget ttk.progress is handig bij het verwerken van lange berekeningen, zodat de gebruiker weet dat het programma wordt uitgevoerd. Hierna wordt een voorbeeld gegeven dat elke 0,5 seconden een voortgangsbalk bijwerkt:

Functie die de voortgangsbalk bijwerkt

def progress(currentValue):
    progressbar["value"]=currentValue

Stel de maximale waarde in

maxValue=100

Maak de voortgangsbalk

progressbar=ttk.Progressbar(master,orient="horizontal",length=300,mode="determinate")
progressbar.pack(side=tk.TOP)

"Bepaal" modus wordt gebruikt wanneer de voortgangsbalk onder controle is van het programma.

Begin- en maximumwaarden

currentValue=0
progressbar["value"]=currentValue
progressbar["maximum"]=maxValue

Emuleren vooruitgang elke 0,5 s

divisions=10
for i in range(divisions):
    currentValue=currentValue+10
    progressbar.after(500, progress(currentValue))
    progressbar.update() # Force an update of the GUI


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow