tkinter
Ttk-widgets
Sök…
Introduktion
Exempel på olika ttk-widgetar. Ttk har totalt 17 widgets, varav elva redan fanns i tkinter (tk).
Att använda ttk-modulen ger din applikation ett mer modernt och förbättrat utseende.
Syntax
- träd = ttk.Treeview (master, ** kwargs)
parametrar
Parameter | Beskrivning |
---|---|
bemästra | tkinter-widgetar finns i en hieararchy. Förutom rotfönstret har alla widgetar en förälder (även kallad "master"). När widgeten läggs till på skärmen med paket, plats eller rutnät visas den i denna överordnade widget |
Anmärkningar
Dessa exempel antar att tkinter har importerats med antingen import tkinter as tk
(python 3) eller import Tkinter as tk
(python 2).
Det antas också att ttk har importerats med antingen from tkinter import ttk
(python 3) eller import ttk
(python 2).
Trevisning: Grundläggande exempel
Denna widget används för att visa objekt med hierarki. Exempelvis kan windows explorer reproduceras på detta sätt. Några fina tabeller kan också göras med treeview
.
Skapa widgeten
tree=ttk.Treeview(master)
Definition av kolumnerna
Du kan definiera hur många kolumner, deras bredd och minsta bredd när användaren försöker sträcka den. Genom att definiera stretch=tk.NO
kan användaren inte ändra kolumnens bredd.
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)
Definition av rubrikerna
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)
Sätt i några rader
# 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"))
Förpackning
tree.pack(side=tk.TOP,fill=tk.X)
I Windows kan följande skärmdump erhållas från det här exemplet.
ProgressBar
ttk.progress
är användbar vid hantering av långa beräkningar så att användaren vet att programmet körs. I det följande ges ett exempel som uppdaterar en framstegsfält varje 0,5 sekund:
Funktion uppdatering av framstegsfältet
def progress(currentValue):
progressbar["value"]=currentValue
Ställ in maxvärdet
maxValue=100
Skapa framstegsfältet
progressbar=ttk.Progressbar(master,orient="horizontal",length=300,mode="determinate")
progressbar.pack(side=tk.TOP)
"bestämma" -läge används när programpanelen kontrolleras av programmet.
Inledande och maximala värden
currentValue=0
progressbar["value"]=currentValue
progressbar["maximum"]=maxValue
Emulera framsteg varje 0,5 sek
divisions=10
for i in range(divisions):
currentValue=currentValue+10
progressbar.after(500, progress(currentValue))
progressbar.update() # Force an update of the GUI