Tkinter-voortgangsbalk

Tkinter Voortgangsbalk



U kunt de klant op de hoogte houden van de status van een langdurig proces met een voortgangsbalkwidget. Het doel van de widget is om de gebruiker het vertrouwen te geven dat er iets gebeurt. Het heeft twee verschillende werkingsmodi. In de bepaalde modus geeft de widget een indicatie weer die in een vooraf bepaalde richting beweegt. De widget wordt in een onbepaalde staat verplaatst om de klant de indruk te geven dat er iets gebeurt. Het signaal oscilleert heen en weer tussen de uiteinden van de widget in deze stijl. Het gebruik van bepaalde en onbepaalde voortgangsbalken in Python wordt in deze tutorial behandeld.

Laten we beginnen met de configuratie van een Tkinter-bibliotheek van Python. Probeer na de succesvolle lancering van de terminal de volgende query om het Tkinter-pakket te configureren. Zorg ervoor dat Python al is geïnstalleerd voordat u deze instructie gebruikt.

$ sudo apt install python3-tk







voorbeeld 1

Laten we beginnen met ons eerste voorbeeld van Python om de Tkinter-module te gebruiken om een ​​bepaalde voortgangsbalk in de GUI te maken. Daarom hebben we een nieuw Python-bestand gemaakt met de naam 'new.py' en de volgende code toegevoegd. We begonnen deze code door alle onderliggende objecten uit de Tkinter-bibliotheek van Python op de eerste regel te importeren. Daarna hebben we het klasseobject 'ttk' uit de Tkinter-module geïmporteerd in de tweede regel code.



De constructor van de klasse Tk() is aangeroepen en heeft zijn object opgeslagen in de variabele 't'. De functie 'titel' is bereikt met de objectvariabele 't' om een ​​titel voor de GUI te maken. De grootte van een GUI Tkinter-venster is ingesteld op '300×200' via de functie geometrie(). De voortgangsbalk zou worden gegenereerd door een door de gebruiker gedefinieerde functie 'Pbar()'. We zullen deze functie in het laatste deel van dit artikel bekijken.



We hebben een variabele 'p' gemaakt op de 8 e regel van deze Python-code die de functie Progressbar() heeft gebruikt via het klasseobject 'ttk' om een ​​voortgangsbalk te maken op het GUI-scherm. Het object 't' is eraan doorgegeven terwijl de oriëntatie is ingesteld op Horizontaal, de lengte is ingesteld op 400 en de modus is bepaald, d.w.z. het zal alleen in een bepaalde richting bewegen. De opvulling van de 'y'-as is ingesteld op 30 door het gebruik van de functie 'pack()' voor deze voortgangsbalk.





Hierna hebben we een nieuwe knop 'b' gemaakt door de functie Button() te gebruiken en het object 't', wat tekst en de opdracht die moet worden uitgevoerd na het klikken op de knop, door te geven, d.w.z. de functie genaamd de functie 'Pbar'. De functie Pbar() zou de waarde van de voortgangsbalk 'p' met tien verhogen en terugkeren naar de variabele 'b'. De 'y'-aspadding voor de knop is ingesteld op '10' met behulp van de pack()-functie, en de mainloop()-functie is hier om de hele uitvoering door te lussen.



Na het voltooien van een Python-code hebben we deze opgeslagen en uitgevoerd op de console via de 'python3'-query gevolgd door de naam van een bestand 'new.py':

$ python3 nieuw.py

Het heeft de Tkinter GUI van Python gelanceerd met de titel 'Voortgangsbalk' op ons consolescherm. In de volgende afbeelding is er alleen een voortgangsbalk zonder verwerking. U moet eerst op de knop tikken.

Nadat u op de knop 'Tik hier!' heeft getikt, wordt de blauwe voortgangsbalk als volgt weergegeven:

Na drie opeenvolgende klikken ontvingen we de volgende voortgang zonder beweging:

Nadat we het einde van de voortgangsbalk hebben bereikt, kunnen we niet verder gaan, d.w.z. de voortgangsbalk bepalen.

Voorbeeld 2

Laten we eens kijken naar het maken van een onbepaalde voortgangsbalk die achteruit en vooruit kan gaan binnen het voortgangsgebied met behulp van de Tkinter GUI Python-module. We zijn dus met deze Python-code begonnen door de Tkinter-module als 'tk' en het ttk-object uit de 'ttk' -klasse te importeren. Het tk-object is verwijderd om het resultaat van de constructor 'Tk()' te krijgen en opgeslagen in de variabele 't'.



De variabele 't' is gebruikt met de functie title() om een ​​titel voor GUI toe te voegen naast de functie geometrie() om de grootte te bepalen van een GUI-venster dat moet worden weergegeven. De functie grid() is aangeroepen met de variabele 't' om de GUI in tabelvorm te organiseren.

Daarna hebben we de variabele 'p' gebruikt om een ​​voortgangsbalk te maken via de functie Progressbar() van het klasseobject ttk met dezelfde variabele 't', horizontale oriëntatie, 300 lengtes en de onbepaalde modus. De voortgangsbalk is in tabelvorm georganiseerd via de functie 'grid()' die de specifieke opvulling voor de 'x'- en 'y'-as heeft gebruikt. We hebben twee knoppen gemaakt, 's' en 'e', om de voortgang van de voortgangsbalk te starten, te beëindigen en heen en weer te bewegen.







De kleverige parameter van de grid()-functie voor beide knoppen definieert de richting, d.w.z. Oost en West. De commando's, 'start' en 'stop', zijn ingesteld voor beide knoppen op de 9 e en 11 e lijn. Met de uitvoering van de functie mainloop() is ons programma voltooid en klaar voor gebruik nadat het is opgeslagen.





De executie heeft op een vergelijkbare manier plaatsgevonden.





$ python3 nieuw.py

Bij het opstarten van de GUI is het volgende scherm weergegeven:



Nadat u op de knop 'Tik om te starten' had gedrukt, begon de voortgangsbalk vooruit te gaan.

Na het bereiken van het einde, beweegt het in de tegenovergestelde richting, d.w.z. naar het westen.

Als u klaar bent met het tikken op de knop 'Tik om te stoppen', is de voortgangsbalk weer op de beginpositie gezet.

Conclusie

Dit artikel toonde het gebruik van de voortgangsbalk in Tkinter GUI. We hebben gewoon de objecten van de Tkinter-klasse gebruikt om verschillende widgets aan te roepen om de Python GUI interactiever te maken. We hebben het gebruik van bepaalde en onbepaalde voortgangsbalken in onze voorbeelden besproken. We hopen dat u deze met plezier uitvoert.