Vrstica napredka Tkinter

Vrstica Napredka Tkinter



Odjemalca lahko obveščate o statusu dolgotrajnega postopka s pripomočkom vrstice napredka. Cilj pripomočka je zagotoviti uporabniku zaupanje, da se nekaj dogaja. Ima dva različna načina delovanja. Ko je v določenem načinu, gradnik prikaže indikacijo, ki potuje v vnaprej določeni smeri. Pripomoček se premakne v nedoločeno stanje, da omogoči stranki vtis, da se nekaj dogaja. Signal niha naprej in nazaj med skrajnimi točkami gradnika v tem slogu. V tej vadnici bo obravnavana uporaba določenih in nedoločenih vrstic napredka v Pythonu.

Začnimo s konfiguracijo knjižnice Tkinter za Python. Po uspešnem zagonu terminala poskusite z naslednjo poizvedbo konfigurirati paket Tkinter. Pred uporabo tega navodila se prepričajte, da je Python že nameščen.

$ sudo apt namestite python3-tk







Primer 1

Začnimo z našim prvim primerom Pythona za uporabo modula Tkinter za ustvarjanje določene vrstice napredka v njegovem GUI. Tako smo ustvarili novo datoteko Python z imenom »new.py« in dodali naslednjo kodo. To kodo smo začeli z uvozom vseh podrejenih objektov iz knjižnice Tkinter Pythona v prvi vrstici. Po tem smo uvozili objekt razreda »ttk« iz modula Tkinter v drugi vrstici kode.



Konstruktor razreda Tk() je bil poklican in svoj objekt shranil v spremenljivko 't'. Funkcija »naslov« je bila dosežena s spremenljivko objekta »t« za ustvarjanje naslova za GUI. Velikost okna GUI Tkinter je bila nastavljena na '300 × 200' prek funkcije geometry(). Vrstico napredka bi ustvarila uporabniško definirana funkcija »Pbar()«. To funkcijo si bomo ogledali v zadnjem delu tega članka.



Pri 8 smo ustvarili spremenljivko 'p'. th vrstico te kode Python, ki je uporabljala funkcijo Progressbar() prek predmeta razreda »ttk« za ustvarjanje vrstice napredka na zaslonu GUI. Predmet »t« mu je bil posredovan, medtem ko je bila njegova usmerjenost nastavljena na Vodoravno, njegova dolžina nastavljena na 400, njegov način pa je determiniran, tj. premikal se bo samo v določeni smeri. Oblazinjenje osi »y« je bilo nastavljeno na 30 z uporabo funkcije »pack()« za to vrstico napredka.





Po tem smo ustvarili nov gumb 'b' z uporabo funkcije Button() in mu posredovali objekt 't', nekaj besedila in ukaz, ki naj se izvede po kliku na gumb, tj. funkcijo imenovano funkcijo 'Pbar'. Funkcija Pbar() bi povečala vrednost vrstice napredka 'p' za deset in se vrnila k spremenljivki 'b'. Oblazinjenje osi »y« za gumb je bilo nastavljeno na »10« s funkcijo pack(), funkcija mainloop() pa je tu, da izklopi celotno izvedbo.



Ko smo dokončali kodo Python, smo jo shranili in izvedli na konzoli prek poizvedbe »python3«, ki ji je sledilo ime datoteke »new.py«:

$ python3 new.py

Zagnal je Tkinter GUI za Python z naslovom »Progress Bar« na zaslonu naše konzole. Na naslednji sliki je samo vrstica napredka brez obdelave. Najprej se morate dotakniti gumba.

Po dotiku gumba »Tapnite tukaj!« se modra vrstica napredka prikaže na naslednji način:

Po treh zaporednih klikih smo prejeli naslednji napredek brez premikanja:

Ko dosežemo konec vrstice napredka, se ne moremo premakniti naprej, tj. določiti vrstico napredka.

Primer 2

Oglejmo si ustvarjanje nedoločene vrstice napredka, ki se lahko premika nazaj in naprej v območju napredka z uporabo modula Tkinter GUI Python. To kodo Python smo torej začeli z uvozom modula Tkinter kot »tk« in objekta ttk iz razreda »ttk«. Objekt tk je bil odstranjen, da bi dobili rezultat konstruktorja »Tk()« in shranjen v spremenljivko »t«.



Spremenljivka »t« je bila uporabljena s funkcijo title() za dodajanje naslova za GUI poleg funkcije geometry() za določitev velikosti okna GUI, ki bo prikazano. Funkcija grid() je bila poklicana s spremenljivko »t« za organizacijo GUI v obliki tabele.

Po tem smo uporabljali spremenljivko »p« za ustvarjanje vrstice napredka prek funkcije Progressbar() predmeta razreda ttk z isto spremenljivko »t«, vodoravno orientacijo, 300 dolžinami in nedoločenim načinom. Vrstica napredka je bila organizirana v obliki tabele prek funkcije »grid()«, ki je uporabljala posebno oblazinjenje za osi »x« in »y«. Ustvarili smo dva gumba, »s« in »e«, za začetek premikanja vrstice napredka, njegovo končanje in premikanje naprej in nazaj.







Lepljivi parameter funkcije grid() za oba gumba določa smer, tj. vzhod in zahod. Ukaza, »start« in »stop«, sta bila nastavljena za oba gumba pri 9 th in 11 th linija. Z izvedbo funkcije mainloop() je naš program dokončan in po shranjevanju pripravljen za uporabo.





Izvršba je potekala na podoben način.





$ python3 new.py

Ob zagonu GUI je bil prikazan naslednji zaslon:



Po pritisku na gumb »Tapnite za začetek« se je vrstica napredka začela premikati naprej.

Ko doseže konec, se premakne v nasprotni smeri, tj. proti zahodu.

Ko se dotaknete gumba »Tap to Stop«, je vrstica napredka znova nastavljena na začetni položaj.

Zaključek

Ta članek je pokazal uporabo vrstice napredka v Tkinter GUI. Enostavno smo uporabili objekte razreda Tkinter za klicanje različnih pripomočkov, da naredimo Python GUI bolj interaktiven. V naših primerih smo razpravljali o uporabi določenih in nedoločenih vrstic napredka. Upamo, da boste uživali pri njihovem izvajanju.