Creación de interfaces gráficas con GTK en Python
Gtk es una biblioteca de interfaz gráfica de usuario (GUI) para el lenguaje de programación Python. Es un marco multiplataforma que se puede utilizar para crear aplicaciones gráficas para Windows, macOS y Linux.
En este tutorial, aprenderemos a crear una interfaz gráfica simple con GTK en Python.
Requisitos previos
Para seguir este tutorial, necesitarás tener instalado Python 3 y la biblioteca GTK. Puedes instalar GTK con el siguiente comando:
pip install pygobject
Crear una ventana
El primer paso para crear una interfaz gráfica con GTK es crear una ventana. Podemos hacer esto usando la clase Gtk.Window
.
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
class MiVentana(Gtk.Window):
def __init__(self):
super().__init__(title="Mi ventana")
# Creamos una etiqueta con el texto "Hola, mundo!"
etiqueta = Gtk.Label("Hola, mundo!")
# Añadimos la etiqueta a la ventana
self.add(etiqueta)
# Mostramos la ventana
self.show()
if __name__ == "__main__":
ventana = MiVentana()
# Iniciar el bucle de eventos
Gtk.main()
Este código creará una ventana con una etiqueta que contiene el texto «Hola, mundo!».
Añadir widgets a la ventana
Podemos añadir más widgets a la ventana utilizando el método add()
. Por ejemplo, podemos añadir un botón utilizando el siguiente código:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
class MiVentana(Gtk.Window):
def __init__(self):
super().__init__(title="Mi ventana")
# Creamos una etiqueta con el texto "Hola, mundo!"
etiqueta = Gtk.Label("Hola, mundo!")
# Creamos un botón con el texto "Cerrar"
boton = Gtk.Button("Cerrar")
# Añadimos la etiqueta y el botón a la ventana
self.add(etiqueta)
self.add(boton)
# Mostramos la ventana
self.show()
if __name__ == "__main__":
ventana = MiVentana()
# Iniciar el bucle de eventos
Gtk.main()
Este código creará una ventana con una etiqueta y un botón.
Eventos de los widgets
Podemos conectar eventos a los widgets para realizar acciones cuando se producen. Por ejemplo, podemos conectar el evento clicked()
del botón para cerrar la ventana utilizando el siguiente código:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
class MiVentana(Gtk.Window):
def __init__(self):
super().__init__(title="Mi ventana")
# Creamos una etiqueta con el texto "Hola, mundo!"
etiqueta = Gtk.Label("Hola, mundo!")
# Creamos un botón con el texto "Cerrar"
boton = Gtk.Button("Cerrar")
# Añadimos la etiqueta y el botón a la ventana
self.add(etiqueta)
self.add(boton)
# Conectamos el evento clicked() del botón
boton.connect("clicked", self.cerrar)
# Mostramos la ventana
self.show()
def cerrar(self, widget):
# Cerramos la ventana
self.destroy()
if __name__ == "__main__":
ventana = MiVentana()
# Iniciar el bucle de eventos
Gtk.main()
Este código cerrará la ventana cuando se haga clic en el botón.
Conclusión
En este tutorial, aprendimos a crear una interfaz gráfica simple con GTK en Python.
Para obtener más información sobre GTK, consulta la documentación oficial: https://developer.gnome.org/gtk3/.