Kontrolka Progressbar w tkinter

Stronę tą wyświetlono już: 287 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.

Listing 1
  1. import tkinter as tk
  2. import tkinter.ttk as ttk
  3. class Application:
  4. def __init__(self):
  5. self.window = tk.Tk()
  6. self.window.geometry("200x50")
  7. self.lb = tk.Label(text = "Pasek podstępu:")
  8. self.lb.place(x = 0, y = 0)
  9. self.pb_frame = tk.Frame(self.window, width = 300)
  10. self.pb_frame.place(x = 0, y = 20, relwidth = 1.)
  11. var = tk.IntVar()
  12. var.set(10)
  13. self.progressbar = ttk.Progressbar(self.pb_frame, maximum = 100, variable = var, orient='horizontal', mode='determinate') # tworzenie poziomego paska postępu
  14. self.progressbar.pack(expand=True, fill=tk.BOTH, side=tk.TOP)
  15. self.window.mainloop()
  16. 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.

Komentarze