Una guía para crear tu primera GUI en Python usando Glade y GTK+

En el mundo de la programación de aplicaciones informáticas, la capacidad de crear una interfaz gráfica de usuario eficaz se vuelve vital para mejorar la experiencia del usuario y hacer que las aplicaciones sean más atractivas.

Python es un lenguaje de programación fácil de usar ideal para análisis de datos y desarrollo web. Pero también es una excelente opción para el desarrollo de GUI para diversas aplicaciones. GTK+ y Glade simplifican el proceso de creación de aplicaciones multiplataforma sencillas. Verificar Formas eficientes de detener y finalizar cualquier aplicación Python.

GTK+ y Glade Interface Designer para desarrolladores de Python

GTK+ (GIMP Toolkit) y Glade Interface Designer son una excelente combinación para los desarrolladores de Python que desean crear GUI intuitivas y divertidas.

GTK+ es un conjunto de herramientas multiplataforma que puedes utilizar para el desarrollo de GUI. Es compatible con una variedad de sistemas operativos, incluidos Linux, Windows y macOS.

Mientras que Glade Interface Designer, una herramienta complementaria para GTK+, le permite diseñar GUI sin tener que escribir código de diseño. Puedes usarlos para crear una GUI en un entorno. WYSIWYG Con solo unos pocos clics mediante la sencilla función de arrastrar y soltar.

Configurando el entorno de desarrollo Python usando GTK+ y Glade

Configurar el entorno es un primer paso importante para garantizar que su negocio funcione sin problemas y de manera eficiente.

1. Instale Python

Comience asegurándose de que Python esté instalado en su sistema. Verá el código Python 3 en los ejemplos generados en este artículo, ya que proporciona un mejor soporte e integración para GTK+ y Glade. Para Linux y macOS, Python suele estar preinstalado.

Los usuarios de Windows pueden descargar Python desde Sitio web oficial de Python.

2. Instalar GTK+

Puede instalar GTK+ utilizando el administrador de paquetes integrado.

Para sistemas Linux basados ​​en Ubuntu y Debian, utilice:

sudo apt-get install libgtk-3-dev

Como para Fedora Y distribuciones similares:

sudo dnf install gtk3-devel

En macOS, usando Homebrew:

brew install gtk+3

Los usuarios de Windows pueden descargar GTK+ desde Página de descarga oficial de GTK. Pero si tiene MSYS2 instalado, puede abrir la línea de comando MSYS2 y usar este comando:

pacman -S mingw-w64-x86_64-python-gobject

3. Instale Glade

Puede utilizar la línea de comando para instalar Glade.

Para distribuciones de Linux basadas en Ubuntu y Debian:

sudo apt-get install glade

En Fedora:

sudo dnf install glade

Los usuarios de macOS pueden utilizar Homebrew:

brew install glade

Los usuarios de Windows pueden usar el siguiente comando con MSYS2:

pacman -S mingw-w64-x86_64-glade

4. Vincular Python a GTK+

Instale PyGObject para integrar GTK+ con Python. El comando que usarás para esto es:

pip install PyGObject

Si hay un error como "La rueda de construcción para pycairo (pyproject.toml) no se inició" al instalar PyGObject, también deberá instalar el paquete cairo.

Para distribuciones de Linux basadas en Ubuntu y Debian:

sudo apt-get install libcairo2-dev

Para Fedora:

sudo yum install cairo-devel

En macOS:

brew install pygobject3

5. Configurar un entorno virtual (opcional)

Es una buena práctica utilizar un entorno virtual para su Python. Esto aísla las dependencias de su proyecto. Cree y active un entorno virtual en Linux usando estos comandos de terminal:

python -m venv myenv

source myenv/bin/activate

En Windows, puedes usar:

python -m venv myenv

myenv\Scripts\activate

En macOS, para asegurarse de que el entorno virtual pueda acceder a los paquetes que preparan las instalaciones, utilice:

python -m venv --system-site-packages myenv

source myenv/bin/activate

6. Verificar la instalación

Para verificar que GTK+ y Glade estén instalados, cree un script Python simple que importe GTK:

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
print("GTK+ version:", Gtk.get_major_version(), Gtk.get_minor_version())

Cuando ejecute este script, generará la versión GTK+ instalada. Si todo va bien, ha configurado su entorno de desarrollo.

Cree una aplicación GUI sencilla utilizando Glade Interface Designer y Python

Puede diseñar su propia aplicación GUI en Glade Interface Designer y exportar el diseño como un archivo de proyecto. Luego puede acceder a este archivo de proyecto desde su código Python.

Diseño de GUI usando Glade

La interfaz de arrastrar y soltar de Glade facilita centrarse en el diseño sin atascarse en el código subyacente. Inicie Glade desde el menú de aplicaciones de su sistema o desde la línea de comando con este comando:

glade

Deberías ver la interfaz Glade donde puedes comenzar a crear un diseño GUI que coincida con tu proyecto.

Proporciona un botón Crear un nuevo proyecto El de arriba muestra un lienzo en blanco para diseñar la GUI desde cero. Glade ofrece una amplia gama de herramientas en su barra superior, incluidos botones, entradas de texto y pegatinas. Arrastre estas herramientas al lienzo vacío para comenzar a diseñar la GUI adecuada. Puede cambiar el tamaño y colocar los widgets según sus necesidades de diseño.

Primero, seleccione el widget GtkVentana De la lista de niveles superiores:

En la página General en la barra lateral de Glade, verá la opción ID. Esta ID es el nombre único del widget que agregó. En este ejemplo, se puede establecer un identificador miVentanaPrincipal A la GtkWindow que agregaste.

Ahora puede agregar widgets a la ventana principal que creó. Vaya a "Contenedores" en la barra superior y seleccione una herramienta GtkBoxy arrástrelo a su espacio de trabajo. Luego dale un identificador, micajaprincipal.

Después de agregar widgets de GtkBox, verá varias opciones a la derecha de su espacio de trabajo específicas para ese widget. Puedes editar completamente tu diseño aquí sin escribir ningún código.

Luego, agregue el controlador a su diseño. Para hacer esto, vaya a Control en la barra superior y seleccione una herramienta Botón Gtk Por ejemplo, arrástrelo a cualquier lugar del GtkBox. Dale un identificador, myButton. Si lo desea, también puede cambiar el texto del botón usando la pestaña General en el panel derecho.

GtkButton es un widget en el que se puede hacer clic, por lo que puedes definir un controlador de Python para él y escribir el código apropiado más adelante. Vaya a la pestaña Marcadores en el menú lateral y seleccione Asistente para el widget en el que se puede hacer clic. En este ejemplo, llámelo on_button_clicked.

Ahora puede guardar su diseño de GUI como un archivo de proyecto. Guarde el archivo como myDesign.glade.

Utilice el archivo de diseño Glade del código Python

Cree un archivo app.py en el mismo directorio que su archivo myDesign.glade. Pegue el siguiente código en este archivo:

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
from gi.repository import Gdk
class MyApp:

    def __init__(self):
        # Load the Glade file to construct the GUI
        self.builder = Gtk.Builder()
        self.builder.add_from_file("myDesign.glade")

        # Retrieve the main window from Glade and set up the close event
        self.window = self.builder.get_object("myMainWindow")
        self.window.connect("destroy", Gtk.main_quit)

        # Retrieve the button from Glade and connect the click event
        self.button = self.builder.get_object("myButton")
        self.button.connect("clicked", self.on_button_clicked)

        # Variable to toggle the background color
        self.color_toggle = False
    def on_button_clicked(self, widget):
        # Click the button and the background color will change
        color = "#FF0000" if self.color_toggle else "#00FF00"
        self.window.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse(color))
        self.color_toggle = not self.color_toggle
    def run(self):
        self.window.show_all()
        Gtk.main()
if __name__ == "__main__":
    app = MyApp()
    app.run()

Este código cambiará el color de fondo cada vez que haga clic en el botón. Tenga en cuenta las llamadas a self.builder.get_object() Que pasa los ID de los widgets que definiste en Glade.

Ejecute el script Python con este comando para ver el resultado:

python3 app.py

Ventajas de usar GTK+ y Glade para el desarrollo de GUI en Python

El uso de GTK+ y Glade para el desarrollo de GUI en Python ofrece beneficios obvios. Crear una GUI suele requerir mucho tiempo y esfuerzo. Pero con Glade Interface Designer, puedes acelerar el proceso. Glade también ofrece una amplia gama de herramientas, cada una de las cuales es tan fácil de usar como el botón del ejemplo.

La principal ventaja de Glade es su capacidad para mantener el diseño de la GUI separado del código. Esto facilita el mantenimiento y la actualización de la GUI. Este enfoque da como resultado un código más claro y organizado, de acuerdo con las prácticas de programación modernas. Ahora puedes ver ¿Qué es el kit de herramientas freelance? Aquí es donde encontrarlo.

Ir al botón superior