Interfaz gráfica con Tkinter

0. Introducción

Una interfaz gráfica es un medio visual a través del cual los usuarios pueden interactuar y realizar tareas.

Se utilizan componentes gráficos como ventanas, menus, botones, campos de texto, etc…

En esta entrada voy a tratar de tocar cada uno de los widgets, formando una pequeña interfaz gráfica para el uso del programa Extraer el audio de un video con Youtube-dl en Windows 10

1. Python y Tkinter

Python es un lenguaje multiplataforma y el gran reto de estos lenguajes es ofrecer una forma unificada de solucionar problemas en cualquier sistema operativo.

Debido a que esto es complejo a causa de las peculiaridades de cada sistema, los programadores decidieron integrar ya una librería existente de código abierto denominada Tk, en ves de desarrollar un módulo propio para manejar la parte gráfica en python. Así nació Tkinter una interfaz “puente” que ya se encontraba soportada en plataformas UNIX y Windows.

2. Widgets en Tkinter

Representan los componentes gráficos en las interfaces y se gestionan firmando jerarquías:

  • Tk : contenedor raíz, no tiene tamaño propio ( se adapta ).
  • Frame : contenedor de otros widgets , tamaño propio y se puede  colocar en cualquier posición de otro contenedor.
  • Label : etiqueta donde podemos mostrar un texto estático.
  • Entry : campo de texto sencillo.
  • Text : campo de texto multilinea ( descripciones, comentarios … )
  • Button : botón con un texto, donde el usuario puede hacer clic
  • Radiobutton : botón radial que se usa en conjunto , para marcar una opción.
  • Checkbutton : botón cuadrado que se puede marcar con un tick
  • Menu : estructura de botones centrados en la composición de menús superiores.
  • Boxes y Dialogs : ventanas emergentes que permiten mostrar información al usuario o ofrecer una forma gráfica de interactuar con el S.O.

3. Tk ( Raíz )

Esto no sería un widget, mas bien sería la raíz de la interfaz gráfica.

Nota: Cuando ejecutamos el fichero .py se nos abre la terminal por detrás de la ventana de la aplicación, para evitar que se nos abra la terminal podemos cambiar la extensión del fichero a .pyw 

El icono de la barra de tareas tambien se puede personalizar, pero se verá en otra entrada “Distribución”

4. Frames ( Marcos )

Los parámetros width height se pueden definir directamente en el Frame() o con frame.config()

5. Labels (Etiquetas)

6. Entry ( Campos de texto )

7. Text ( Textos largos )

8. Buttons ( Botones )

El siguiente bloque de código, es una pequeña calculadora:

9. Radiobuttons ( Botones Radiales )

10. Checkbuttons ( Botones seleccionables )

11. Menus

12. Popups ( Ventanas emergentes )

Más información en ingles: Enlace

Autor entrada: CharlieJ

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *