Introducción a pyglet: Creación de Aplicaciones Gráficas en Python
Pyglet es una biblioteca de gráficos 2D de Python que proporciona una API simple y fácil de usar para crear aplicaciones gráficas. Es una biblioteca de código abierto y está disponible para Windows, macOS y Linux.
En este tutorial, aprenderemos a crear una aplicación gráfica simple con pyglet.
Instalación
Para instalar pyglet, ejecuta el siguiente comando en la terminal:
pip install pyglet
Creando una aplicación
Para crear una aplicación, crearemos un nuevo archivo llamado my_app.py
. En este archivo, importaremos la biblioteca pyglet y crearemos una ventana:
import pyglet
# Creamos una ventana de 640x480 píxeles
window = pyglet.window.Window(width=640, height=480)
# Iniciamos el bucle de eventos
pyglet.app.run()
Este código creará una ventana de 640×480 píxeles. Para que la ventana sea visible, debemos iniciar el bucle de eventos. El bucle de eventos se encargará de procesar los eventos de la ventana, como los clics del mouse y las pulsaciones de teclas.
Dibujando en la ventana
Para dibujar en la ventana, podemos usar el método draw()
de la ventana. Este método toma un objeto de pyglet.graphics.Batch
como parámetro. El objeto de Batch
se utiliza para almacenar los objetos gráficos que se dibujarán en la ventana.
Para dibujar un rectángulo en la ventana, podemos usar el siguiente código:
# Creamos un objeto de Batch
batch = pyglet.graphics.Batch()
# Creamos un rectángulo
rectangle = pyglet.graphics.Rectangle(
x=0, y=0, width=640, height=480,
color=(255, 0, 0)
)
# Añadimos el rectángulo al Batch
batch.add(rectangle)
# Dibujamos el Batch
window.draw(batch)
Este código creará un rectángulo rojo en la ventana.
Ejemplo completo
El siguiente código es un ejemplo completo de una aplicación gráfica con pyglet:
import pyglet
# Creamos una ventana de 640x480 píxeles
window = pyglet.window.Window(width=640, height=480)
# Creamos un objeto de Batch
batch = pyglet.graphics.Batch()
# Creamos un rectángulo
rectangle = pyglet.graphics.Rectangle(
x=0, y=0, width=640, height=480,
color=(255, 0, 0)
)
# Añadimos el rectángulo al Batch
batch.add(rectangle)
# Definimos un evento de clic del mouse
@window.event
def on_mouse_press(x, y, button, modifiers):
# Cambiamos el color del rectángulo
rectangle.color = (0, 255, 0)
# Iniciamos el bucle de eventos
pyglet.app.run()
Este código creará una ventana con un rectángulo rojo. Cuando el usuario haga clic en la ventana, el color del rectángulo cambiará a verde.
Más información
Para obtener más información sobre pyglet, consulta la documentación oficial: https://pyglet.readthedocs.io/en/latest/.
Ejercicios
- Crea una aplicación que dibuje un círculo en la ventana.
- Crea una aplicación que dibuje un texto en la ventana.
- Crea una aplicación que responda a los eventos del teclado.