Barra de progrés de Tkinter

Barra De Progres De Tkinter



Podeu actualitzar el client sobre l'estat d'un procés llarg amb un widget de barra de progrés. L'objectiu del giny és proporcionar a l'usuari confiança que alguna cosa està passant. Té dos modes de funcionament diferents. Quan està en mode determinat, el giny mostra una indicació que viatja en una direcció predeterminada. El giny es mou en un estat indeterminat per permetre al client la impressió que alguna cosa està passant. El senyal oscil·la cap endavant i cap enrere entre les extremitats del giny al llarg d'aquest estil. L'ús de barres de progrés determinades i indeterminades a Python es tractarà en aquest tutorial.

Comencem amb la configuració d'una biblioteca Tkinter de Python. Després de l'execució correcta del terminal, proveu la consulta següent per configurar el paquet Tkinter. Assegureu-vos de tenir Python ja instal·lat abans d'utilitzar aquesta instrucció.

$ sudo apt install python3-tk







Exemple 1

Comencem amb el nostre primer exemple de Python per utilitzar el mòdul Tkinter per crear una barra de progrés determinada a la seva GUI. Així, hem creat un nou fitxer Python anomenat 'new.py' i hem afegit el codi següent. Vam començar aquest codi important tots els objectes fills de la biblioteca Tkinter de Python a la primera línia. Després d'això, vam importar l'objecte de classe 'ttk' del mòdul Tkinter a la segona línia de codi.



El constructor de classe Tk() ha estat cridat i ha desat el seu objecte a la variable 't'. S'ha arribat a la funció 'títol' amb la variable d'objecte 't' per crear un títol per a la GUI. La mida d'una finestra de GUI Tkinter s'ha establert a '300×200' mitjançant la funció geometry(). La barra de progrés es generaria per una funció definida per l'usuari 'Pbar()'. Veurem aquesta funció a la darrera part d'aquest article.



Hem creat una variable 'p' al 8 th línia d'aquest codi Python que ha estat utilitzant la funció Progressbar() mitjançant l'objecte de classe 'ttk' per crear una barra de progrés a la pantalla de la GUI. S'hi ha passat l'objecte 't' mentre la seva orientació s'ha establert en Horitzontal, la seva longitud s'ha establert en 400 i el seu mode és determinat, és a dir, només es mourà en una direcció determinada. El farciment de l'eix 'y' s'ha establert en 30 mitjançant l'ús de la funció 'pack()' per a aquesta barra de progrés.





Després d'això, hem estat creant un nou botó 'b' mitjançant l'ús de la funció Button() i passant-li l'objecte 't', una mica de text i l'ordre que cal executar després de fer clic al botó, és a dir, funció anomenada la funció 'Pbar'. La funció Pbar() incrementaria en deu el valor de la barra de progrés 'p' i tornaria a la variable 'b'. El farciment de l'eix 'y' per al botó s'ha establert en '10' mitjançant la funció pack() i la funció mainloop() és aquí per fer un bucle de tota l'execució.



Després de completar un codi de Python, el vam desar i l'hem executat a la consola mitjançant la consulta 'python3' seguida del nom d'un fitxer 'new.py':

$ python3 new.py

Ha llançat la GUI de Tkinter de Python amb el títol 'Barra de progrés' a la pantalla de la nostra consola. A la imatge següent, només hi ha una barra de progrés sense processament. Primer heu de tocar el botó.

Després de tocar el botó 'Toca aquí!', la barra de progrés blava s'ha mostrat de la següent manera:

Després de tres clics consecutius, vam rebre el següent progrés sense cap moviment:

Després d'arribar al final de la barra de progrés, no podem avançar més, és a dir, una barra de progrés determinada.

Exemple 2

Vegem la creació d'una barra de progrés indeterminada que es pugui moure cap enrere i cap endavant dins de l'àrea de progrés mitjançant el mòdul Python de la GUI de Tkinter. Per tant, hem iniciat aquest codi de Python important el mòdul Tkinter com a 'tk' i l'objecte ttk de la classe 'ttk'. L'objecte tk s'ha eliminat per obtenir el resultat del constructor 'Tk()' i s'ha desat a la variable 't'.



La variable 't' s'ha utilitzat amb la funció title() per afegir un títol per a la GUI juntament amb la funció geometry() per determinar la mida d'una finestra GUI que es mostrarà. La funció grid() s'ha cridat amb la variable 't' per organitzar la GUI en format tabular.

Després d'això, hem estat utilitzant la variable 'p' per crear una barra de progrés mitjançant la funció Progressbar() de l'objecte de classe ttk amb la mateixa variable 't', orientació horitzontal, 300 longituds i el mode indeterminat. La barra de progrés s'ha organitzat de manera tabular mitjançant la funció 'grid()' que ha estat utilitzant el farciment específic per als eixos 'x' i 'y'. Hem creat dos botons, 's' i 'e', per iniciar el moviment de la barra de progrés, acabar-la i moure-la cap endavant i cap enrere.







El paràmetre enganxós de la funció grid() per als dos botons defineix la direcció, és a dir, est i oest. Les ordres, 'iniciar' i 'aturar', s'han establert per als dos botons a la 9 th i 11 th línia. Amb l'execució de la funció mainloop(), el nostre programa s'ha completat i llest per utilitzar-lo després de desar-lo.





L'execució s'ha fet d'una manera similar.





$ python3 new.py

En iniciar-se la GUI, s'ha presentat la següent pantalla:



Després de prémer el botó 'Toca per començar', la barra de progrés va començar a avançar.

Després d'arribar al final, es mou en sentit contrari, és a dir, Oest.

Un cop fet de tocar el botó 'Toqueu per aturar', la barra de progrés s'ha tornat a posar a la posició inicial.

Conclusió

Aquest article mostra l'ús de la barra de progrés a la GUI de Tkinter. Simplement hem utilitzat els objectes de la classe Tkinter per cridar diferents ginys per fer que la GUI de Python sigui més interactiva. Hem parlat de l'ús de barres de progrés determinades i indeterminades als nostres exemples. Esperem que gaudiu implementant-los.