Tkinterin edistymispalkki

Tkinterin Edistymispalkki



Voit päivittää asiakkaalle pitkän prosessin tilan edistymispalkki-widgetillä. Widgetin tavoitteena on antaa käyttäjälle luottamus siitä, että jotain tapahtuu. Siinä on kaksi erilaista toimintatilaa. Määritetyssä tilassa widget näyttää osoituksen, joka kulkee ennalta määrättyyn suuntaan. Widgettiä siirretään määrittelemättömään tilaan, jotta asiakas saa vaikutelman, että jotain tapahtuu. Signaali värähtelee edestakaisin widgetin ääripäiden välillä koko tämän tyylin ajan. Tässä opetusohjelmassa käsitellään määrättyjen ja määrittämättömien edistymispalkkien käyttöä Pythonissa.

Aloitetaan Pythonin Tkinter-kirjaston määrittämisellä. Kun pääte on käynnistetty onnistuneesti, kokeile seuraavaa kyselyä määrittääksesi Tkinter-paketin. Varmista, että Python on jo asennettu ennen tämän ohjeen käyttämistä.

$ sudo apt install python3-tk







Esimerkki 1

Aloitetaan ensimmäisestä Python-esimerkistämme Tkinter-moduulin avulla luomaan määrätty edistymispalkki sen graafiseen käyttöliittymään. Näin ollen olemme luoneet uuden Python-tiedoston nimeltä 'new.py' ja lisänneet seuraavan koodin. Aloitimme tämän koodin tuomalla kaikki lapsiobjektit Pythonin Tkinter-kirjastosta ensimmäisellä rivillä. Sen jälkeen toimme 'ttk'-luokan objektin Tkinter-moduulista toiselle koodiriville.



Tk()-luokan konstruktori on kutsuttu ja tallennettu objektinsa 't'-muuttujaan. 'Title'-funktio on saavutettu 't'-objektimuuttujan avulla graafisen käyttöliittymän otsikon luomiseksi. GUI Tkinter -ikkunan kooksi on asetettu “300×200” geometria()-funktion kautta. Edistymispalkin luoisi käyttäjän määrittämä 'Pbar()'-funktio. Tarkastelemme tätä toimintoa tämän artikkelin jälkimmäisessä osassa.



Olemme luoneet muuttujan 'p' 8:aan th Tämän Python-koodin rivillä, joka on käyttänyt Progressbar()-funktiota 'ttk'-luokkaobjektin kautta luodakseen edistymispalkin GUI-näyttöön. Objekti 't' on välitetty sille, kun sen suunta on asetettu vaakasuoraan, sen pituus on asetettu 400:aan ja sen tila on määrätty, eli se liikkuu vain tiettyyn suuntaan. 'Y'-akselin täyte on asetettu arvoon 30 käyttämällä 'pack()'-toimintoa tälle edistymispalkin.





Tämän jälkeen olemme luoneet uuden painikkeen ”b” käyttämällä Button()-funktiota ja välittämällä sille objektin ”t”, jonkin verran tekstiä ja painikkeen painamisen jälkeen suoritettavan komennon, eli funktion ns. 'Pbar'-toiminto. Pbar()-funktio lisäisi edistymispalkin 'p' arvoa kymmenellä ja palaa muuttujaan 'b'. Painikkeen 'y'-akselin täyttö on asetettu arvoon '10' käyttämällä pack()-funktiota, ja mainloop()-funktio on tässä silmukassa koko suorituksen.



Python-koodin valmistumisen jälkeen tallensimme sen ja suoritimme sen konsolissa 'python3'-kyselyllä, jota seurasi tiedoston nimi 'new.py':

$ python3 new.py

Se on julkaissut Pythonin Tkinter GUI:n otsikolla 'Progress Bar' konsolinäytöllämme. Seuraavassa kuvassa on vain edistymispalkki ilman käsittelyä. Sinun täytyy ensin napauttaa painiketta.

Kun napautat painiketta 'Napauta tästä!', sininen edistymispalkki näkyy seuraavasti:

Kolmen peräkkäisen napsautuksen jälkeen saimme seuraavan edistymisen ilman liikettä:

Kun edistymispalkin loppu on saavutettu, emme voi siirtyä pidemmälle, eli määrätty edistymispalkki.

Esimerkki 2

Tarkastellaanpa määrittämättömän edistymispalkin luomista, joka voi liikkua taaksepäin ja eteenpäin edistymisalueella käyttämällä Tkinter GUI Python -moduulia. Joten olemme aloittaneet tämän Python-koodin tuomalla Tkinter-moduulin nimellä 'tk' ja ttk-objektin 'ttk'-luokasta. Tk-objekti on heitetty pois konstruktorin 'Tk()' tuloksen saamiseksi ja tallennettu muuttujaan 't'.



T-muuttujaa on käytetty title()-funktion kanssa graafisen käyttöliittymän otsikon lisäämiseen geometry()-funktion rinnalle, jotta voidaan määrittää näytettävän GUI-ikkunan koko. Grid()-funktiota on kutsuttu 't'-muuttujan kanssa graafisen käyttöliittymän järjestämiseksi taulukkomuotoon.

Sen jälkeen olemme käyttäneet muuttujaa 'p' luodaksemme edistymispalkin ttk-luokan objektin Progressbar()-funktiolla, jolla on sama 't'-muuttuja, vaakasuora suunta, 300 pituutta ja määrittelemätön tila. Edistymispalkki on järjestetty taulukkomuotoisesti 'grid()'-funktion kautta, joka on käyttänyt 'x'- ja 'y'-akselien erityistä täyttöä. Olemme luoneet kaksi painiketta, 's' ja 'e', joilla voit käynnistää edistymispalkin liikkeen, lopettaa sen ja siirtää sitä edestakaisin.







Molempien painikkeiden grid()-funktion sticky-parametri määrittää suunnan, eli itään ja länteen. Komennot 'start' ja 'stop' on asetettu molemmille painikkeille 9 th ja 11 th linja. Mainloop()-funktion suorittamisen myötä ohjelmamme on valmis ja valmis käytettäväksi sen tallennuksen jälkeen.





Toteutus on tapahtunut vastaavalla tavalla.





$ python3 new.py

Kun GUI käynnistettiin, seuraava näyttö on esitetty:



Kun painat 'Käynnistä napauttamalla' -painiketta, edistymispalkki alkoi liikkua eteenpäin.

Päästyään päähän se liikkuu vastakkaiseen suuntaan, eli länteen.

Kun olet napauttanut 'Pysäytä napauttamalla' -painiketta, edistymispalkki on asetettu takaisin alkuasentoon.

Johtopäätös

Tämä artikkeli esitteli edistymispalkin käyttöä Tkinter GUI:ssa. Olemme yksinkertaisesti hyödyntäneet Tkinter-luokan objekteja kutsuaksemme erilaisia ​​widgetejä tehdäksemme Python GUI:sta interaktiivisemman. Olemme keskustelleet esimerkeissämme määrättyjen ja määrittelemättömien edistymispalkkien käytöstä. Toivomme, että nautit näiden toteuttamisesta.