Creación de interfaces gráficas con GTK en Python

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.

Python
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:

Python
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:

Python
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/.