Ricerca…


introduzione

Esempi dei diversi widget ttk. Ttk ha un totale di 17 widget, undici dei quali già esistenti in tkinter (tk).

L'uso del modulo ttk conferisce alla tua applicazione un aspetto più moderno e migliorato.

Sintassi

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

Parametri

Parametro Descrizione
maestro i widget tkinter esistono in una struttura gerarchica. Ad eccezione della finestra radice, tutti i widget hanno un genitore (chiamato anche "master"). Quando il widget viene aggiunto allo schermo con pack, luogo o griglia, apparirà all'interno di questo widget genitore

Osservazioni

Questi esempi presuppongono che tkinter sia stato importato con import tkinter as tk (python 3) o import Tkinter as tk (python 2).

Si presume inoltre che ttk sia stato importato from tkinter import ttk (python 3) o import ttk (python 2).

Treeview: esempio di base

Questo widget viene utilizzato per visualizzare elementi con gerarchia. Ad esempio, Windows Explorer può essere riprodotto in questo modo. Alcuni bei tavoli possono essere fatti anche usando il widget treeview .

Crea il widget

tree=ttk.Treeview(master)

Definizione delle colonne

Puoi definire quante colonne, la loro larghezza e larghezza minima quando l'utente prova ad allungarlo. Definendo stretch=tk.NO , l'utente non può modificare la larghezza della colonna.

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)

Definizione delle intestazioni

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)

Inserisci alcune righe

# 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"))

Imballaggio

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

Su Windows, il seguente screenshot può essere ottenuto da questo esempio.

Screenshot del widget treeview su Windows

Barra di avanzamento

Il widget ttk.progress è utile quando si ha a che fare con calcoli lunghi in modo che l'utente sappia che il programma è in esecuzione. Di seguito, viene fornito un esempio di aggiornamento di una barra di avanzamento ogni 0,5 secondi:

Funzione che aggiorna la barra di avanzamento

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

Imposta il valore massimo

maxValue=100

Crea la barra di avanzamento

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

La modalità "determinata" viene utilizzata quando la barra di avanzamento è sotto il controllo del programma.

Valori iniziali e massimi

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

Emula progresso ogni 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow