Tkinter Progress Bar

Tkinter Progress Bar



Du kan opdatere klienten om status for en langvarig proces med en statuslinje-widget. Widgettens mål er at give brugeren tillid til, at noget sker. Den har to forskellige driftsformer. Når den er i bestemt tilstand, viser widgetten en indikation, der bevæger sig i en forudbestemt retning. Widgetten flyttes i en ubestemt tilstand for at give klienten et indtryk af, at der sker noget. Signalet svinger frem og tilbage mellem yderpunkterne af widgetten i hele denne stil. Brugen af ​​bestemte og ubestemte fremskridtsbjælker i Python vil blive dækket i denne tutorial.

Lad os starte med konfigurationen af ​​et Tkinter-bibliotek i Python. Efter vellykket lancering af terminalen, prøv følgende forespørgsel for at konfigurere Tkinter-pakken. Sørg for at have Python allerede installeret, før du bruger denne instruktion.

$ sudo apt installere python3-tk







Eksempel 1

Lad os starte med vores første eksempel på Python for at bruge Tkinter-modulet til at skabe en bestemt statuslinje på dets GUI. Således har vi oprettet en ny Python-fil ved navn 'new.py' og tilføjet følgende kode. Vi startede denne kode ved at importere alle underordnede objekter fra Tkinter-biblioteket i Python på den første linje. Derefter importerede vi 'ttk'-klasseobjektet fra Tkinter-modulet i den anden kodelinje.



Klassekonstruktøren Tk() er blevet kaldt og gemt dens objekt i 't'-variablen. 'Titel'-funktionen er nået med objektvariablen 't' for at skabe en titel til GUI. Størrelsen af ​​et GUI Tkinter-vindue er blevet indstillet til '300×200' via geometri()-funktionen. Statuslinjen ville blive genereret af en 'Pbar()' brugerdefineret funktion. Vi vil tage et kig på denne funktion i den sidste del af denne artikel.



Vi har oprettet en variabel 'p' ved 8 th linje i denne Python-kode, der har brugt Progressbar()-funktionen via 'ttk'-klasseobjektet til at oprette en statuslinje på GUI-skærmen. Objektet 't' er blevet videregivet til det, mens dets orientering er indstillet til Vandret, dets længde indstillet til 400, og dets tilstand er bestemt, dvs. det vil kun bevæge sig i en bestemt retning. 'y'-aksens polstring er blevet indstillet til 30 ved brug af 'pack()'-funktionen for denne statuslinje.





Efter dette har vi oprettet en ny knap 'b' ved at bruge Button()-funktionen og videregive den til objektet 't', noget tekst og kommandoen, der skal udføres efter at have klikket på knappen, dvs. funktionen kaldet funktionen 'Pbar'. Funktionen Pbar() ville øge værdien af ​​statuslinjen 'p' med ti og vende tilbage til variablen 'b'. 'y'-aksens polstring for knappen er blevet indstillet til '10' ved hjælp af pack()-funktionen, og mainloop()-funktionen er her for at sløjfe hele udførelsen.



Efter at have fuldført en Python-kode, gemte vi den og udførte den på konsollen via 'python3'-forespørgslen efterfulgt af navnet på en fil 'new.py':

$ python3 new.py

Det har lanceret Tkinter GUI af Python med titlen 'Progress Bar' på vores konsolskærm. På det følgende billede er der kun en statuslinje uden behandling. Du skal først trykke på knappen.

Efter at have trykket på knappen 'Tryk her!', er den blå statuslinje blevet vist som følger:

Efter tre på hinanden følgende klik modtog vi følgende fremskridt uden bevægelse:

Efter at have nået slutningen af ​​statuslinjen, kan vi ikke bevæge os længere, dvs. bestemme statuslinjen.

Eksempel 2

Lad os se på at skabe en ubestemt statuslinje, der kan bevæge sig frem og tilbage inden for fremskridtsområdet ved hjælp af Tkinter GUI Python-modulet. Så vi har startet denne Python-kode ved at importere Tkinter-modulet som 'tk' og ttk-objektet fra 'ttk'-klassen. tk-objektet er blevet kastet af for at få konstruktøren 'Tk()'-resultat og gemt i variablen 't'.



Variablen 't' er blevet brugt sammen med title()-funktionen til at tilføje en titel til GUI sammen med funktionen geometri() for at bestemme størrelsen af ​​et GUI-vindue, der skal vises. Grid()-funktionen er blevet kaldt med 't'-variablen for at organisere GUI'en i et tabelformat.

Derefter har vi brugt variablen 'p' til at oprette en statuslinje via funktionen Progressbar() i ttk-klasseobjektet med den samme 't'-variabel, horisontal orientering, 300 længder og den ubestemte tilstand. Statuslinjen er blevet organiseret i tabelform via 'grid()'-funktionen, der har brugt den specifikke udfyldning for 'x'- og 'y'-aksen. Vi har lavet to knapper, 's' og 'e', til at starte bevægelsen af ​​statuslinjen, afslutte den og flytte den frem og tilbage.







Den klæbende parameter for grid()-funktionen for begge knapper definerer retningen, dvs. øst og vest. Kommandoerne 'start' og 'stop' er indstillet for begge knapper på 9 th og 11 th linje. Med udførelsen af ​​mainloop()-funktionen er vores program blevet afsluttet og klar til brug efter at have gemt det.





Henrettelsen er foregået på lignende måde.





$ python3 new.py

På GUI lanceret, er følgende skærm blevet præsenteret:



Efter at have trykket på knappen 'Tap for at starte', begyndte statuslinjen at bevæge sig fremad.

Efter at have nået enden, bevæger den sig i den modsatte retning, dvs. vest.

Når du er færdig med at trykke på knappen 'Tap for at stoppe', er statuslinjen blevet sat til den oprindelige position igen.

Konklusion

Denne artikel viste brugen af ​​statuslinjen i Tkinter GUI. Vi har simpelthen brugt Tkinter-klassens objekter til at kalde forskellige widgets for at gøre Python GUI mere interaktiv. Vi har diskuteret at bruge bestemte og ubestemte fremskridtsbjælker i vores eksempler. Vi håber, du nyder at implementere disse.