Tkinter pažangos juosta

Tkinter Pazangos Juosta



Galite atnaujinti klientą apie ilgo proceso būseną naudodami eigos juostos valdiklį. Valdiklio tikslas yra suteikti vartotojui pasitikėjimą, kad kažkas vyksta. Jis turi du skirtingus veikimo režimus. Kai įjungtas nustatymo režimas, valdiklis rodo indikaciją, kuri juda iš anksto nustatyta kryptimi. Valdiklis perkeliamas į neapibrėžtą būseną, kad klientui susidarytų įspūdis, kad kažkas vyksta. Šiame stiliuje signalas svyruoja pirmyn ir atgal tarp valdiklio galų. Šioje pamokoje bus aptartas apibrėžtų ir neapibrėžtų eigos juostų naudojimas Python.

Pradėkime nuo Python Tkinter bibliotekos konfigūracijos. Sėkmingai paleidę terminalą, pabandykite atlikti šią užklausą, kad sukonfigūruotumėte Tkinter paketą. Prieš naudodami šią instrukciją įsitikinkite, kad Python jau yra įdiegtas.

$ sudo apt įdiegti python3-tk







1 pavyzdys

Pradėkime nuo savo pirmojo Python pavyzdžio, skirto naudoti Tkinter modulį, kad sukurtume apibrėžtą eigos juostą jo GUI. Taigi sukūrėme naują Python failą pavadinimu „new.py“ ir pridėjome šį kodą. Pradėjome šį kodą importuodami visus antrinius objektus iš Python Tkinter bibliotekos pirmoje eilutėje. Po to mes importavome 'ttk' klasės objektą iš Tkinter modulio antroje kodo eilutėje.



Tk() klasės konstruktorius buvo iškviestas ir išsaugojo savo objektą „t“ kintamajame. Funkcija „title“ pasiekta naudojant objekto kintamąjį „t“, kad būtų sukurtas GUI pavadinimas. GUI Tkinter lango dydis buvo nustatytas į „300 × 200“ naudojant funkciją „geometry()“. Eigos juosta būtų sukurta naudojant vartotojo apibrėžtą funkciją „Pbar()“. Šią funkciją apžvelgsime paskutinėje šio straipsnio dalyje.



Mes sukūrėme kintamąjį „p“ ties 8 th šio Python kodo eilutėje, kuri naudojo funkciją Progressbar() per „ttk“ klasės objektą, kad sukurtų eigos juostą GUI ekrane. Objektas „t“ jam buvo perduotas, kai jo orientacija nustatyta į Horizontalią, jo ilgis nustatytas į 400, o jo režimas yra nustatytas, t. y. jis judės tik tam tikra kryptimi. „Y“ ašies užpildymas buvo nustatytas į 30, naudojant šios eigos juostos funkciją „pack()“.





Po to mes sukūrėme naują mygtuką „b“ naudodami funkciją Button() ir perduodame jam objektą „t“, tam tikrą tekstą ir komandą, kuri bus vykdoma spustelėjus mygtuką, t. y. funkciją, vadinamą funkcija „Pbar“. Funkcija Pbar () padidintų eigos juostos „p“ reikšmę dešimt ir grįžtų prie kintamojo „b“. Mygtuko „y“ ašies užpildymas buvo nustatytas į „10“, naudojant funkciją „packs()“, o funkcija mainloop() skirta visam vykdymui.



Užpildę Python kodą, mes jį išsaugojome ir įvykdėme konsolėje naudodami „python3“ užklausą, po kurios nurodomas failo pavadinimas „new.py“:

$ python3 new.py

Ji paleido Python Tkinter GUI su pavadinimu „Progreso juosta“ mūsų konsolės ekrane. Kitame paveikslėlyje yra tik eigos juosta be apdorojimo. Pirmiausia turite paliesti mygtuką.

Paspaudus mygtuką „Bakstelėkite čia!“, mėlyna eigos juosta rodoma taip:

Po trijų paspaudimų iš eilės pastebėjome tokią pažangą be jokio judėjimo:

Pasiekę eigos juostos pabaigą, negalime judėti toliau, t. y. nustatyti eigos juostą.

2 pavyzdys

Pažiūrėkime, kaip sukurti neapibrėžtą eigos juostą, kuri gali judėti pirmyn ir atgal progreso srityje naudojant Tkinter GUI Python modulį. Taigi, mes pradėjome šį Python kodą importuodami Tkinter modulį kaip 'tk' ir ttk objektą iš 'ttk' klasės. Objektas tk buvo išmestas, kad būtų gautas konstruktoriaus „Tk()“ rezultatas ir įrašytas į kintamąjį „t“.



Kintamasis „t“ buvo naudojamas kartu su funkcija title() norint pridėti GUI pavadinimą kartu su funkcija „geometry()“, kad būtų nustatytas rodomo GUI lango dydis. Funkcija grid() buvo iškviesta su kintamuoju 't', kad būtų galima tvarkyti GUI lentelės formatu.

Po to mes naudojome kintamąjį „p“, kad sukurtume eigos juostą naudodami ttk klasės objekto funkciją Progressbar () su tuo pačiu „t“ kintamuoju, horizontalia orientacija, 300 ilgių ir neapibrėžtu režimu. Eigos juosta buvo sutvarkyta lentelės būdu, naudojant funkciją „grid()“, kuri naudojo specifinį „x“ ir „y“ ašių užpildymą. Sukūrėme du mygtukus „s“ ir „e“, skirtus eigos juostos judėjimui pradėti, užbaigti ir judėti pirmyn ir atgal.







Abiejų mygtukų funkcijos grid() lipnus parametras apibrėžia kryptį, ty rytus ir vakarus. Komandos „start“ ir „stop“ buvo nustatytos abiem mygtukams 9 th ir 11 th linija. Vykdant funkciją mainloop() mūsų programa buvo baigta ir ją išsaugojus paruošta naudoti.





Vykdymas buvo atliktas panašiu būdu.





$ python3 new.py

Paleidus GUI, buvo parodytas toks ekranas:



Paspaudus mygtuką „Palieskite, kad pradėtumėte“, eigos juosta pradėjo judėti į priekį.

Pasiekęs galą, juda priešinga kryptimi, t.y., į Vakarus.

Paspaudus mygtuką „Palieskite, kad sustabdytumėte“, eigos juosta vėl buvo nustatyta pradinėje padėtyje.

Išvada

Šiame straipsnyje parodytas eigos juostos naudojimas Tkinter GUI. Mes tiesiog panaudojome Tkinter klasės objektus norėdami iškviesti įvairius valdiklius, kad Python GUI būtų interaktyvesnė. Savo pavyzdžiuose aptarėme determinuotų ir neapibrėžtų eigos juostų naudojimą. Tikimės, kad jums patiks juos įgyvendinti.