Tkinteri edenemisriba

Tkinteri Edenemisriba



Edenemisriba vidina abil saate klienti pika protsessi oleku kohta värskendada. Vidina eesmärk on anda kasutajale kindlustunne, et midagi toimub. Sellel on kaks erinevat töörežiimi. Määratud režiimis kuvab vidin märguande, mis liigub ettemääratud suunas. Vidin liigutatakse määramatusse olekusse, et kliendile jääks mulje, et midagi toimub. Signaal võngub kogu selle stiili jooksul vidina otste vahel edasi-tagasi. Selles õpetuses käsitletakse Pythonis määratud ja määramata edenemisribade kasutamist.

Alustame Pythoni Tkinteri teegi konfigureerimisega. Pärast terminali edukat käivitamist proovige Tkinteri paketi konfigureerimiseks järgmist päringut. Enne selle juhise kasutamist veenduge, et Python oleks juba installitud.

$ sudo apt install python3-tk







Näide 1

Alustame oma esimese Pythoni näitega, et kasutada Tkinteri moodulit selle GUI-s kindla edenemisriba loomiseks. Seega oleme loonud uue Pythoni faili nimega 'new.py' ja lisanud järgmise koodi. Alustasime seda koodi, importides kõik alamobjektid Pythoni Tkinteri teegist esimesel real. Pärast seda importisime Tkinteri moodulist teisele koodireale klassi objekti 'ttk'.



Klassi konstruktor Tk() on välja kutsutud ja selle objekt on salvestatud muutujasse 't'. Funktsioon 'title' on saavutatud objektimuutuja 't' abil, et luua GUI pealkiri. GUI Tkinteri akna suuruseks on geomeetria () funktsiooni abil määratud '300 × 200'. Edenemisriba genereeriks kasutaja määratud funktsioon 'Pbar()'. Vaatleme seda funktsiooni selle artikli viimases osas.



Oleme loonud muutuja “p” 8. juures th selle Pythoni koodi rida, mis on kasutanud GUI ekraanil edenemisriba loomiseks klassiobjekti 'ttk' kaudu funktsiooni Progressbar(). Objekt 't' on sellele edastatud, kui selle orientatsioon on seatud horisontaalseks, pikkuseks 400 ja selle režiim on määratud, st see liigub ainult kindlas suunas. 'Y'-telje polsterdus on seatud väärtusele 30, kasutades selle edenemisriba funktsiooni 'pack()'.





Pärast seda oleme funktsiooni Button() abil loonud uue nupu “b” ja andnud sellele edasi objekti “t”, natuke teksti ja nupule klõpsamise järel täidetava käsu, st funktsiooni nimega funktsioon 'Pbar'. Funktsioon Pbar () suurendaks edenemisriba 'p' väärtust kümne võrra ja pöörduks tagasi muutuja 'b' juurde. Nupu 'y'-telje polsterdus on seatud väärtusele '10', kasutades funktsiooni pack() ja funktsioon mainloop() on siin, et kogu täitmine välja lülitada.



Pärast Pythoni koodi täitmist salvestasime selle ja käivitasime selle konsoolis päringu 'python3' kaudu, millele järgnes faili nimi 'new.py':

$ python3 new.py

See käivitas meie konsooliekraanil Pythoni Tkinteri GUI pealkirjaga „Progressiriba”. Järgmisel pildil on ainult edenemisriba ilma töötluseta. Kõigepealt peate nuppu puudutama.

Pärast nupu „Koputage siin!“ puudutamist kuvatakse sinine edenemisriba järgmiselt:

Pärast kolme järjestikust klõpsamist saavutasime ilma liikumiseta järgmise edenemise:

Pärast edenemisriba lõppu ei saa me enam edasi liikuda, st määrata edenemisriba.

Näide 2

Vaatame, kuidas luua määramatu edenemisriba, mis saab Tkinteri GUI Pythoni mooduli abil edenemisalal edasi-tagasi liikuda. Niisiis, oleme selle Pythoni koodi käivitanud, importides Tkinteri mooduli kui 'tk' ja ttk-objekti klassist 'ttk'. Objekt tk on konstruktori 'Tk()' tulemuse saamiseks maha heidetud ja salvestatud muutujasse 't'.



Muutujat „t” on kasutatud koos funktsiooniga title() GUI-le pealkirja lisamiseks funktsiooni geometry() kõrvale, et määrata kuvatava GUI-akna suurus. Funktsiooni grid() on kutsutud koos muutujaga 't', et korraldada GUI tabelivormingus.

Pärast seda oleme kasutanud muutujat 'p', et luua edenemisriba ttk-klassi objekti funktsiooni Progressbar() kaudu, millel on sama 't' muutuja, horisontaalne orientatsioon, 300 pikkust ja määramatu režiim. Edenemisriba on korraldatud tabelina funktsiooni 'grid()' kaudu, mis on kasutanud 'x' ja 'y' telgede jaoks spetsiaalset polsterdust. Edenemisriba liikumise alustamiseks, lõpetamiseks ja edasi-tagasi liigutamiseks oleme loonud kaks nuppu, “s” ja “e”.







Mõlema nupu funktsiooni grid() kleepuv parameeter määrab suuna, st ida ja lääne suunas. Käsud 'start' ja 'stopp' on määratud mõlemale nupule 9 th ja 11 th rida. Funktsiooni mainloop() täitmisega on meie programm valmis ja pärast salvestamist kasutusvalmis.





Täitmine on toimunud sarnasel viisil.





$ python3 new.py

GUI käivitamisel kuvatakse järgmine ekraan:



Pärast nupu 'Puuduta alustamiseks' vajutamist hakkas edenemisriba edasi liikuma.

Pärast lõppu jõudmist liigub see vastupidises suunas, st läände.

Kui olete lõpetanud nupu „Puudutage peatamiseks” puudutamise, on edenemisriba taas algasendisse seatud.

Järeldus

See artikkel näitas edenemisriba kasutamist Tkinteri GUI-s. Oleme lihtsalt kasutanud Tkinteri klassi objekte erinevate vidinate kutsumiseks, et muuta Pythoni GUI interaktiivsemaks. Oleme oma näidetes arutanud kindlate ja määramatute edenemisribade kasutamist. Loodame, et teile meeldib nende rakendamine.