Kivy: desarrollo de GUI multiplataforma con Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción

Kivy es un potente framework de código abierto para crear interfaces gráficas y aplicaciones multiplataforma con Python. Es compatible con Android, iOS, Windows, Linux y macOS, lo que lo convierte en una excelente opción para desarrollar apps móviles y de escritorio con un solo código base.

La biblioteca ofrece herramientas para construir interfaces adaptables, gestionar la entrada de teclado, ratón, táctil y multitáctil, e incluye su propio lenguaje de marcado KV para separar la lógica de la interfaz. Kivy utiliza OpenGL para el renderizado, garantizando un alto rendimiento y animaciones fluidas.

¿Qué es Kivy y sus características?

Ventajas clave del framework

Kivy se destaca entre otras bibliotecas para crear interfaces gráficas por varias características importantes. El framework está escrito completamente en Python, usando Cython para los componentes críticos, lo que asegura un alto rendimiento.

Las principales características incluyen:

  • Soporte nativo para multitáctil y gestos
  • Aceleración por hardware mediante OpenGL ES 2.0
  • Escalado automático de la interfaz para diferentes resoluciones de pantalla
  • Arquitectura modular con posibilidad de expansión
  • Soporte integrado para animaciones y efectos

Arquitectura del framework

Kivy está construido sobre una arquitectura modular, donde cada componente puede ser reemplazado o ampliado. El núcleo del framework consta de varios módulos principales: Clock para la gestión del tiempo, Window para trabajar con la ventana de la aplicación, Factory para crear objetos y Cache para optimizar el rendimiento.

Instalación y configuración

Instalación básica de Kivy

pip install kivy

Para el desarrollo en Android, necesitarás la utilidad adicional buildozer:

pip install buildozer

Instalación de dependencias para diferentes plataformas

Windows

pip install kivy[base,media]

Linux (Ubuntu/Debian)

sudo apt-get install python3-kivy

macOS

brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
pip install kivy

Verificar la instalación

Después de la instalación, puedes comprobar que todo funciona con una prueba simple:

import kivy
print(kivy.__version__)

Creación de la primera aplicación

La aplicación Kivy más simple

from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self):
        return Button(text="¡Púlsame!")

MyApp().run()

Al ejecutar este código, se abrirá una ventana con un botón que ocupará toda el área de la ventana.

Estructura de una aplicación Kivy

Cada aplicación en Kivy tiene la siguiente estructura básica:

  • App — la clase principal que inicia y gestiona la aplicación
  • Widget — el elemento base de la interfaz del que heredan todos los componentes
  • Layout — contenedores para organizar widgets (BoxLayout, GridLayout y otros)
  • Screen — pantallas individuales de la aplicación para la navegación

Ciclo de vida de la aplicación

Una aplicación Kivy pasa por varias etapas:

  1. Inicialización de la clase App
  2. Llamada al método build() para crear la interfaz
  3. Inicio del bucle principal de eventos
  4. Procesamiento de la entrada del usuario
  5. Finalización al cerrar la aplicación

Componentes y widgets principales

Widgets básicos de la interfaz de usuario

Label — mostrar texto

from kivy.uix.label import Label

label = Label(                    

Recommendations