Python GUI Ventanas
Veamos como crear ventanas y trabajar con interfaces gráficas de usuario (GUI) en Python 3, usaremos la librería tkinter que ya viene incluido en la instalación de python, es un paquete de código abierto, accesible, portable y muy potente, además cuenta con varios extensiones que podemos usar para facilitar aun más nuestro trabajo a la hora de crear GUI.
Para crear una ventana sin mas, importamos tkinter, llamando al método tk() obtenemos la ventana principal, para iniciar el bucle de mensajes de la ventana usamos mainloop().
Para agregar un widget a la ventana inicializamos una instancio de la clase que corresponda al widget que deseamos crear, como primer parametro indicamos la ventana a la que lo agregaremos, si indicamos None (por defecto) se creara una ventana a la que se asociara el widget.
import tkinter as tk root = tk.Tk() root.mainloop()
Para agregar un widget a la ventana inicializamos una instancio de la clase que corresponda al widget que deseamos crear, como primer parametro indicamos la ventana a la que lo agregaremos, si indicamos None (por defecto) se creara una ventana a la que se asociara el widget.
Para empezar vamos a mostrar el clásico programa hola mundo, mostraremos una ventana con una etiqueta (label) que mostrara el mensaje, al trabajar con tkinter las GUI son completamente portables a cualquier plataforma como Linux, Windows y otros.
from tkinter import Label widget = Label(None, text='Hola GUI tkinter') widget.pack() widget.mainloop()
Descripción del código:
- Carga la clase widget del modulo tkinter
- Crea una instancia de la clase Label, la cual representa una etiqueta de texto, se le asigna la propiedad text con el mensaje que deseamos mostrar.
- El método pack posiciona el Label, como no indicamos nada en la posición por defecto.
- Inicia el bucle de eventos, el cual manejara todos los eventos que produzca nuestra aplicación.
Cambiar título de la ventana
Modificamos un poco en código para que muestre el titulo en la ventana y además agregamos parámetros al método pack para lograr ubicar el label en el centro de la ventana aún cuando cambiemos el tamaño de esta.
from tkinter import * ventana = Tk() ventana.title('Ventana tkinter') widget = Label(ventana, text='Hola GUI tkinter') widget.pack(expand=YES, fill=BOTH) ventana.mainloop()
Descripción del código:
- 2. Obtener la ventana principal
- 3. Establecer el título de la ventana.
- 4. Crea el Label, ahora indicamos en el primer parámetro a que ventana pertenece.
- 5. Posicionamos el control e indicamos que se puede expandir y se rellena en ambos lados.
import tkinter as tk lbl = tk.Label(text="Widget Label") lbl.pack() lbl.master.title('Tutor de Programacion') lbl.mainloop()
Personalizar la ventana
Podemos cambiar el aspecto de nuestra ventana, por ejemplo estableciendo un color de fondo, cambiando el tamaño de la ventana, hacerla de tamaño fijo ya sea de alto o de ancho.from tkinter import * ventana = Tk() ventana.config(bg="red") ventana.geometry("400x200") ventana.resizable(width=FALSE, height=FALSE) ventana.title("Tutor de Programacion") ventana.mainloop()
Personalizar Label Cambiar Fuente
Para cambiar la apariencia del label contamos con opciones para cambiar la fuente, el color y el tamaño entre otras, veamos como hacerlo.
Modificamos la línea 4 del código anterior para que quede de este modo y el resultado será el siguiente:
Siguiente: Mostrar Imagenes
Tengo una duda, sabes, tengo un juego del ahorcado en python y quiero hacer los dibujos del ahorcado con tkinder. Ya se dibujarlos, pero al momento de implementarlos al programa, se me abre una sola vez el dibujo y el programa no continua :O, siendo que deberia, ¿sabes porque?¿tiene la solucion? Me es de vital urgencia.
ResponderEliminarFavor respondeme aque.
ResponderEliminarPublica tu codigo, quizas pueda ayudarte
EliminarMuy bueno el Tutorial, un detalle , en el último ejemplo tuve que agregar widget.pack() para que se vea el widget
ResponderEliminar