Kontrolka Progressbar w tkinter

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 6943 razy

Kontrolka Progressbar została "ukryta" w module ttk modułu tkinter, toteż i nie zaliczyłem jej do poczetu kontrolek standardowo dostępnych bezpośrednio z poziomu modułu tkinter. Kontrolka ta oczywiście służy do graficznego wyświetlania postępu realizacji jakiegoś czasochłonnego zadania, którego program nie jest w stanie wykonać w czasie rzeczywistym. Nie gadajmy jednak zbyt wiele, albowiem dobry kod ponoć więcej znaczy niż tysiąc słów.

import tkinter as tk import tkinter.ttk as ttk class Application: def __init__(self): self.window = tk.Tk() self.window.geometry("200x50") self.lb = tk.Label(text = "Pasek podstępu:") self.lb.place(x = 0, y = 0) self.pb_frame = tk.Frame(self.window, width = 300) self.pb_frame.place(x = 0, y = 20, relwidth = 1.) var = tk.IntVar() var.set(10) self.progressbar = ttk.Progressbar(self.pb_frame, maximum = 100, variable = var, orient='horizontal', mode='determinate') # tworzenie poziomego paska postępu self.progressbar.pack(expand=True, fill=tk.BOTH, side=tk.TOP) self.window.mainloop() apl = Application()

Pasek postępu musiał zostać zamknięty w kontrolce typu Frame, która sama w sobie nie ma wyglądu a jej przeznaczeniem jest zgrupowanie kontrolek lub kontrola położenia i rozmieszczenia jakiejś kontrolki. Program po odpaleniu wygląda jak na załączonym poniżej rysunku.

Utworzenie paska postępu w module tkinter języka programowania Python
Rys. 1
Widok programu z paskiem postępu.
Propozycje książek