Når du jobber med Guis, er det ofte et flott alternativ å vise frem mengden av prosessen som er gjort i form av en fremdriftslinje. Siden Tkinter er et GUI-Building Library of Python, gir det en innebygd metode for å bygge en fremdriftslinje enkelt. Denne guiden vil vise deg hvordan ikke bare å bygge en fremdriftslinje, men også hvordan du bruker to forskjellige moduser av den og endrer verdien av fremdriftslinjen.
Hvordan bygge en fremdriftsbar i Tkinter Python?
Du må importere “TTK” -pakken og bruke fremdriftsbilen () -metoden.
Progvar = TTK.ProgressBar (Framevar, Orient, Lengde, Mode)
I syntaks av ProgressBar () -metoden:
La oss bygge en enkel fremdriftslinje i Tkinter, som utvikler seg med 10% ved trykk på en knapp ved å bruke følgende kode:
#Start ved å importere TKinterbibliotekene
fra tkinter import *
fra tkinter import ttk
#After importen, lag rammen ved å bruke TK () -metoden
ramme = tk ()
ramme.Tittel ("Linuxhint - Progress Bar")
ramme.geometri ("400x200")
vindu = ramme (ramme)
#Method for å øke fremdriftsverdien
def pbar ():
progbar ['verdi']+= 10
#Build ProgressBar
Progbar = TTK.ProgressBar (ramme, Orient = horisontal, lengde = 400, modus = "Bestemmelse")
Progbar.pakke (pady = 40)
#Build -knapp
btn = knapp (ramme, tekst = "Klikk her!", kommando = pbar)
btn.pakke (pady = 10)
ramme.MainLoop ()
I denne kodebiten:
Når dette kodebiten utføres, produserer det følgende TKinter -vindu på maskinen din:
Som du kan se i utdata -GIF, ble fremdriftslinjen opprettet, og den fortsatte å komme videre på klikket på knappen. Når fremdriftslinjen har truffet maksimal lengde, oppstår ingen ytterligere endring ved knappetrykk.
Hvordan få fremdriftsbaren til å gå frem og tilbake i tkinter python?
For å få fremdriftslinjen til å gå frem og tilbake på trykk på knappen, må du bruke den "ubestemmelige" fremdriftslinjen. Med en "ubestemmelig" fremdriftslinje er målet ikke å vise prosentandelen av arbeidet som er utført av prosessen til brukeren. Snarere er målet bare å vise frem at en handling/hendelse er i prosess.
For å lage en ubestemmelig fremdriftslinje, bare endre modusargumentet i fremdrifts -metoden for å "ubestemmelig":
Progbar = TTK.ProgressBar (ramme, Orient = horisontal, lengde = 400, modus = "Bestemmelse")
Plasser denne linjen i forrige eksempel, utfør programmet, så produserer det følgende TKinter -vindu:
Som du kan se i utdata -gifen, stoppet ikke den ubestemmelige fremdriftslinjen ved 100% -merket, snarere begynte det å gå frem og tilbake på knappeklikkene.
Hvordan tilbakestille fremdriftslinjen i Tkinter Python?
For å tilbakestille verdien av fremdriftslinjen, bruker du bare fremdriftslinjevariabelen for å få tilgang til "verdien" -attributtet, og angi verdien lik null. En god praksis er å tilbakestille verdien av fremdriftslinjen på en knappetrykk.
For å demonstrere dette, ta denne modifiserte koden fra det første eksemplet:
fra tkinter import *
fra tkinter import ttk
#After importen, lag rammen ved å bruke TK () -metoden
ramme = tk ()
ramme.Tittel ("Linuxhint - Progress Bar")
ramme.geometri ("400x200")
vindu = ramme (ramme)
#Method for å øke/tilbakestille fremdriftsverdien
def pbar ():
progbar ['verdi']+= 10
def resetpbar ():
progbar ['verdi'] = 0
#Build ProgressBar
Progbar = TTK.ProgressBar (ramme, Orient = horisontal, lengde = 400, modus = "ubestemmelig")
Progbar.pakke (pady = 40)
#Build knapper
btn = knapp (ramme, tekst = "fremgang", kommando = pbar)
btn.pakke (pady = 10)
btn2 = knapp (ramme, tekst = "reset", kommando = resetpbar).pakke (padx = 10)
ramme.MainLoop ()
Når denne koden blir utført, produserer den følgende oppførsel av TKinter -vinduet på maskinen din:
Du kan observere at så snart "Reset" -knappen trykkes, tilbakestilles fremdriften til 0.
Konklusjon
Fremdriftsstenger er en flott måte å informere sluttbrukeren om en handlings fullføringsprosent eller utførelsesstatus. For å bygge en fremdriftslinje i Tkinter, bruk ProgressBar () -metoden til “TTK” -pakken og passere verdiene for ramme, orientering, lengde og modus. For å endre fremdriftsverdien til fremdriftslinjen, få tilgang til attributtet “verdi” og endre verdien i henhold til kravet ditt.