Barra de progreso de Tkinter

Barra De Progreso De Tkinter



Puede actualizar al cliente sobre el estado de un proceso largo con un widget de barra de progreso. El objetivo del widget es proporcionar al usuario la confianza de que algo está ocurriendo. Tiene dos modos de funcionamiento diferentes. Cuando está en modo determinado, el widget muestra una indicación que viaja en una dirección predeterminada. El widget se mueve en un estado indeterminado para que el cliente tenga la impresión de que algo está sucediendo. La señal oscila de un lado a otro entre los extremos del widget a lo largo de este estilo. El uso de barras de progreso determinadas e indeterminadas en Python se tratará en este tutorial.

Comencemos con la configuración de una biblioteca Tkinter de Python. Después del lanzamiento exitoso de la terminal, intente la siguiente consulta para configurar el paquete Tkinter. Asegúrese de tener Python ya instalado antes de usar esta instrucción.

$ sudo apt install python3-tk







Ejemplo 1

Comencemos con nuestro primer ejemplo de Python para usar el módulo Tkinter para crear una barra de progreso determinada en su GUI. Por lo tanto, hemos creado un nuevo archivo de Python llamado 'nuevo.py' y hemos agregado el siguiente código. Comenzamos este código importando todos los objetos secundarios de la biblioteca Tkinter de Python en la primera línea. Después de eso, importamos el objeto de clase 'ttk' del módulo Tkinter en la segunda línea de código.



Se ha llamado al constructor de la clase Tk() y se ha guardado su objeto en la variable 't'. La función 'título' se ha alcanzado con la variable de objeto 't' para crear un título para la GUI. El tamaño de una ventana de GUI Tkinter se ha establecido en '300 × 200' a través de la función de geometría (). La barra de progreso sería generada por una función definida por el usuario “Pbar()”. Echaremos un vistazo a esta función en la última parte de este artículo.



Hemos creado una variable “p” en el 8 el línea de este código de Python que ha estado usando la función Progressbar() a través del objeto de clase 'ttk' para crear una barra de progreso en la pantalla GUI. Se le ha pasado el objeto 't' mientras su orientación se ha establecido en Horizontal, su longitud establecida en 400 y su modo está determinado, es decir, se moverá solo en una dirección particular. El relleno del eje 'y' se ha establecido en 30 mediante el uso de la función 'pack()' para esta barra de progreso.





Después de esto, hemos estado creando un nuevo botón 'b' mediante el uso de la función Button() y pasándole el objeto 't', algo de texto y el comando que se ejecutará después de hacer clic en el botón, es decir, la función llamada la función “Pbarra”. La función Pbar() estaría incrementando el valor de la barra de progreso 'p' en diez y regresando a la variable 'b'. El relleno del eje 'y' para el botón se ha establecido en '10' usando la función pack(), y la función mainloop() está aquí para realizar un bucle de toda la ejecución.



Después de completar un código de Python, lo guardamos y lo ejecutamos en la consola a través de la consulta 'python3' seguida del nombre de un archivo 'nuevo.py':

$ python3 nuevo.py

Ha lanzado la GUI Tkinter de Python con el título 'Barra de progreso' en la pantalla de nuestra consola. En la siguiente imagen, solo hay una barra de progreso sin procesamiento. Primero debe tocar el botón.

Después de tocar el botón '¡Toque aquí!', la barra de progreso azul se muestra de la siguiente manera:

Después de tres clics consecutivos, recibimos el siguiente progreso sin movimiento:

Después de llegar al final de la barra de progreso, no podemos movernos más, es decir, determinada barra de progreso.

Ejemplo 2

Veamos cómo crear una barra de progreso indeterminada que puede moverse hacia atrás y hacia adelante dentro del área de progreso usando el módulo Python de la GUI de Tkinter. Entonces, comenzamos este código de Python importando el módulo Tkinter como 'tk' y el objeto ttk de la clase 'ttk'. El objeto tk se ha descartado para obtener el resultado del constructor 'Tk()' y se ha guardado en la variable 't'.



La variable 't' se ha utilizado con la función title() para agregar un título para la GUI junto con la función geometric() para determinar el tamaño de una ventana GUI que se mostrará. Se ha llamado a la función grid() con la variable 't' para organizar la GUI en un formato tabular.

Después de eso, hemos estado usando la variable 'p' para crear una barra de progreso a través de la función Progressbar() del objeto de clase ttk con la misma variable 't', orientación horizontal, 300 longitudes y el modo indeterminado. La barra de progreso se ha organizado de forma tabular a través de la función 'grid()' que ha estado utilizando el relleno específico para los ejes 'x' e 'y'. Hemos creado dos botones, “s” y “e”, para iniciar el movimiento de la barra de progreso, finalizarlo y moverlo adelante y atrás.







El parámetro fijo de la función grid() para ambos botones define la dirección, es decir, Este y Oeste. Los comandos, “start” y “stop”, se han configurado para ambos botones en el 9 el y 11 el línea. Con la ejecución de la función mainloop(), nuestro programa se ha completado y está listo para usar después de guardarlo.





La ejecución se ha llevado a cabo de forma similar.





$ python3 nuevo.py

Al iniciar la GUI, se presentó la siguiente pantalla:



Después de presionar el botón 'Tocar para comenzar', la barra de progreso comenzó a avanzar.

Después de llegar al final, se mueve en la dirección opuesta, es decir, al oeste.

Una vez que haya terminado de tocar el botón 'Toque para detener', la barra de progreso se ha establecido nuevamente en la posición inicial.

Conclusión

Este artículo mostró el uso de la barra de progreso en la GUI de Tkinter. Simplemente hemos utilizado los objetos de la clase Tkinter para llamar a diferentes widgets para hacer que la GUI de Python sea más interactiva. Hemos discutido el uso de barras de progreso determinadas e indeterminadas en nuestros ejemplos. Esperamos que disfrute implementando estos.