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.

Skärmdump av treeview-widgeten i Windows

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow