Tkinter traka napretka

Tkinter Traka Napretka



Možete ažurirati klijenta o statusu dugotrajnog procesa pomoću widgeta trake napretka. Cilj widgeta je pružiti korisniku povjerenje da se nešto događa. Ima dva različita načina rada. Kada je u određenom načinu rada, widget prikazuje indikaciju koja putuje u unaprijed određenom smjeru. Widget se pomiče u neodređeno stanje kako bi klijent stekao dojam da se nešto događa. Signal oscilira naprijed-natrag između ekstremiteta widgeta kroz ovaj stil. Upotreba određenih i neodređenih traka napretka u Pythonu bit će obrađena u ovom vodiču.

Počnimo s konfiguracijom Tkinterove biblioteke Pythona. Nakon uspješnog pokretanja terminala pokušajte sa sljedećim upitom konfigurirati Tkinter paket. Uvjerite se da je Python već instaliran prije korištenja ove upute.

$ sudo apt instaliraj python3-tk







Primjer 1

Počnimo s našim prvim primjerom Pythona za korištenje Tkinter modula za stvaranje određene trake napretka na njegovom GUI-ju. Stoga smo stvorili novu Python datoteku pod nazivom “new.py” i dodali sljedeći kod. Započeli smo ovaj kod uvozom svih podređenih objekata iz Tkinter biblioteke Pythona u prvom redu. Nakon toga smo uvezli objekt klase “ttk” iz modula Tkinter u drugi red koda.



Konstruktor klase Tk() je pozvan i spremio je svoj objekt u varijablu “t”. Do funkcije 'title' došlo se s varijablom objekta 't' za stvaranje naslova za GUI. Veličina prozora GUI Tkinter postavljena je na '300×200' putem funkcije geometry(). Traku napretka generirala bi korisnički definirana funkcija 'Pbar(). Ovu funkciju ćemo pogledati u drugom dijelu ovog članka.



Napravili smo varijablu 'p' na 8 th retka ovog Python koda koji je koristio funkciju Progressbar() putem objekta klase 'ttk' za stvaranje trake napretka na GUI zaslonu. Objekt 't' mu je proslijeđen dok mu je orijentacija postavljena na Horizontalno, njegova duljina postavljena na 400, a njegov mod je određen, tj. kretat će se samo u određenom smjeru. Ispuna osi 'y' postavljena je na 30 upotrebom funkcije 'pack()' za ovu traku napretka.





Nakon toga smo kreirali novi gumb “b” pomoću funkcije Button() i prosljeđivali mu objekt “t”, neki tekst i naredbu koja će se izvršiti nakon klika na gumb, tj. funkciju tzv. funkcija “Pbar”. Funkcija Pbar() bi povećavala vrijednost trake napretka 'p' za deset i vraćala bi se na varijablu 'b'. Ispuna osi 'y' za gumb postavljena je na '10' pomoću funkcije pack(), a funkcija mainloop() je tu da pokrene cijelo izvršenje.



Nakon što smo dovršili Python kod, spremili smo ga i izvršili na konzoli putem upita 'python3' nakon kojeg je slijedio naziv datoteke 'new.py':

$ python3 new.py

Pokrenuo je Tkinter GUI za Python s naslovom 'Traka napretka' na zaslonu naše konzole. Na sljedećoj slici postoji samo traka napretka bez obrade. Prvo morate dodirnuti gumb.

Nakon dodirivanja gumba 'Dodirnite ovdje!', plava traka napretka prikazana je kako slijedi:

Nakon tri uzastopna klika primili smo sljedeći napredak bez pomaka:

Nakon što dođemo do kraja progres bara, ne možemo dalje, tj. odrediti progres bar.

Primjer 2

Pogledajmo stvaranje neodređene trake napretka koja se može pomicati unatrag i naprijed unutar područja napretka pomoću Tkinter GUI Python modula. Dakle, započeli smo ovaj Python kod uvozom Tkinter modula kao 'tk' i ttk objekta iz klase 'ttk'. Objekt tk je odbačen kako bi se dobio rezultat konstruktora 'Tk()' i spremljen u varijablu 't'.



Varijabla 't' korištena je s funkcijom title() za dodavanje naslova za GUI uz funkciju geometry() za određivanje veličine GUI prozora koji će se prikazati. Funkcija grid() pozvana je s varijablom 't' kako bi se GUI organizirao u tabličnom formatu.

Nakon toga, koristili smo varijablu 'p' za stvaranje trake napretka putem funkcije Progressbar() objekta klase ttk s istom varijablom 't', vodoravnom orijentacijom, 300 duljina i neodređenim načinom rada. Traka napretka organizirana je u tabelarnom obliku putem funkcije 'grid()' koja je koristila specifična ispuna za osi 'x' i 'y'. Napravili smo dva gumba, 's' i 'e', za početak pomicanja trake napretka, za njen završetak i pomicanje naprijed-natrag.







Ljepljivi parametar funkcije grid() za oba gumba definira smjer, tj. istok i zapad. Naredbe, 'start' i 'stop', postavljene su za oba gumba na 9 th i 11 th crta. Izvršenjem funkcije mainloop() naš je program završen i spreman za korištenje nakon spremanja.





Ovrha je izvršena na sličan način.





$ python3 new.py

Pri pokretanju GUI prikazan je sljedeći zaslon:



Nakon pritiska na gumb 'Dodirni za početak', traka napretka počela se pomicati prema naprijed.

Nakon što dođe do kraja, kreće se u suprotnom smjeru, tj. Zapadu.

Nakon dodirivanja gumba 'Dodirni za zaustavljanje', traka napretka ponovno je postavljena na početni položaj.

Zaključak

Ovaj članak je pokazao korištenje trake napretka u Tkinter GUI. Jednostavno smo iskoristili objekte klase Tkinter za pozivanje različitih widgeta kako bi Python GUI bio interaktivniji. Raspravljali smo o korištenju određenih i neodređenih traka napretka u našim primjerima. Nadamo se da ćete uživati ​​u njihovoj implementaciji.