Szukaj…


Wprowadzenie

Przykłady różnych widżetów TTK. Ttk ma w sumie 17 widżetów, z których jedenaście istniało już w tkinter (tk).

Korzystanie z modułu ttk nadaje Twojej aplikacji bardziej nowoczesny i ulepszony wygląd.

Składnia

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

Parametry

Parametr Opis
mistrz Widżety tkinter istnieją w hierarchii. Z wyjątkiem okna głównego wszystkie widżety mają element nadrzędny (zwany także „głównym”). Gdy widżet zostanie dodany do ekranu z paczką, miejscem lub siatką, pojawi się w tym widżecie nadrzędnym

Uwagi

W tych przykładach założono, że tkinter został zaimportowany za pomocą import tkinter as tk (python 3) lub import Tkinter as tk (python 2).

Zakłada się również, że ttk został zaimportowany albo from tkinter import ttk (python 3), albo import ttk (python 2).

Widok drzewa: Podstawowy przykład

Ten widget służy do wyświetlania elementów z hierarchią. Na przykład, Eksplorator Windows można odtworzyć w ten sposób. Niektóre ładne tabele można również wykonać za pomocą widgetu treeview .

Utwórz widżet

tree=ttk.Treeview(master)

Definicja kolumn

Możesz zdefiniować liczbę kolumn, ich szerokość i minimalną szerokość, gdy użytkownik będzie próbował je rozciągnąć. Definiując stretch=tk.NO , użytkownik nie może modyfikować szerokości kolumny.

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)

Definicja nagłówków

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)

Wstaw kilka wierszy

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

Uszczelka

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

W systemie Windows następujący zrzut ekranu można uzyskać z tego przykładu.

Zrzut ekranu widżetu widoku drzewa w systemie Windows

Pasek postępu

Widżet ttk.progress jest przydatny w przypadku długich obliczeń, dzięki czemu użytkownik wie, że program działa. Poniżej podano przykład aktualizacji paska postępu co 0,5 sekundy:

Funkcja aktualizująca pasek postępu

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

Ustaw maksymalną wartość

maxValue=100

Utwórz pasek postępu

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

Tryb „określania” jest używany, gdy pasek postępu jest pod kontrolą programu.

Wartości początkowe i maksymalne

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

Emuluj postęp co 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow