Creación de aplicaciones de escritorio con PyGetWindow en Python

Creación de aplicaciones de escritorio con PyGetWindow en Python

Introducción

Python es un lenguaje de programación de propósito general que se puede utilizar para crear una amplia gama de aplicaciones, incluyendo aplicaciones de escritorio. PyGetWindow es una biblioteca de Python que proporciona una interfaz sencilla para interactuar con ventanas de escritorio. Con PyGetWindow, podemos crear aplicaciones de escritorio que se ejecutan de forma nativa en Windows, macOS y Linux.

Requisitos

Para seguir este tutorial, necesitarás lo siguiente:

  • Un ordenador con Python 3 instalado.
  • La biblioteca PyGetWindow instalada.

Instalación de PyGetWindow

Para instalar PyGetWindow, abre una terminal y ejecuta el siguiente comando:

pip install pygetwindow

Creación de una ventana simple

Para crear una ventana simple con PyGetWindow, podemos utilizar el siguiente código:

Python
import pygetwindow

def main():
    # Crea una ventana con un título y un tamaño
    window = pygetwindow.get_active_window()
    window.title("Mi ventana")
    window.size = (400, 300)

    # Muestra la ventana
    window.show()

if __name__ == "__main__":
    main()

Este código creará una ventana con el título «Mi ventana» y un tamaño de 400×300 píxeles. La ventana se mostrará en el centro de la pantalla.

Añadiendo widgets a la ventana

Podemos añadir widgets a la ventana utilizando los métodos add_widget() y get_widget(). El método add_widget() añade un widget a la ventana, y el método get_widget() devuelve un widget existente.

Por ejemplo, el siguiente código añade un botón a la ventana:

Python
import pygetwindow

def main():
    # Crea una ventana con un título y un tamaño
    window = pygetwindow.get_active_window()
    window.title("Mi ventana")
    window.size = (400, 300)

    # Añade un botón a la ventana
    button = pygetwindow.Button(window, text="Mi botón")
    button.place(x=100, y=100)

    # Muestra la ventana
    window.show()

if __name__ == "__main__":
    main()

Este código añadirá un botón con el texto «Mi botón» a la ventana. El botón se colocará a 100 píxeles del borde izquierdo y 100 píxeles del borde superior de la ventana.

Eventos de la ventana

Podemos capturar eventos de la ventana utilizando los métodos on_event() y get_event(). El método on_event() registra una función que se llamará cuando se produzca un evento. El método get_event() devuelve el evento que se ha producido.

Por ejemplo, el siguiente código captura el evento de clic del botón:

Python
import pygetwindow

def main():
    # Crea una ventana con un título y un tamaño
    window = pygetwindow.get_active_window()
    window.title("Mi ventana")
    window.size = (400, 300)

    # Añade un botón a la ventana
    button = pygetwindow.Button(window, text="Mi botón")
    button.place(x=100, y=100)

    # Captura el evento de clic del botón
    def on_click(event):
        print("El botón se ha pulsado")
    button.on_event("click", on_click)

    # Muestra la ventana
    window.show()

if __name__ == "__main__":
    main()

Este código imprimirá el mensaje «El botón se ha pulsado» cuando se pulse el botón.

Conclusión

PyGetWindow es una biblioteca sencilla y potente que nos permite crear aplicaciones de escritorio en Python. Con PyGetWindow, podemos crear aplicaciones de escritorio que se ejecutan de forma nativa en Windows, macOS y Linux.

Ejercicios

  • Crea una aplicación de escritorio que muestre una lista de elementos.
  • Crea una aplicación de escritorio que permita al usuario editar un texto.
  • Crea una aplicación de escritorio que permita al usuario jugar a un juego sencillo.