Creando Interfaces Modernas con KivyMD en Python

Creando Interfaces Modernas con KivyMD en Python

KivyMD es un framework de interfaz de usuario (GUI) para Python que permite crear interfaces modernas y atractivas. Está basado en Kivy, un framework más general que permite crear aplicaciones multiplataforma.

En este tutorial, aprenderemos a crear una interfaz moderna con KivyMD. Comenzaremos por instalar KivyMD y luego crearemos una aplicación simple con un botón. Luego, exploraremos algunos de los widgets y componentes disponibles en KivyMD para crear interfaces más complejas.

Instalación de KivyMD

Para instalar KivyMD, podemos usar pip:

pip install kivymd

Creando una aplicación simple

Para crear una aplicación simple con KivyMD, podemos usar el siguiente código:

Python
from kivymd.app import MDApp
from kivymd.uix.button import MDRectangleFlatButton

class MyApp(MDApp):
    def build(self):
        return MDRectangleFlatButton(
            text="Hola, mundo!",
            pos_hint={"center_x": 0.5, "center_y": 0.5},
        )

if __name__ == "__main__":
    MyApp().run()

Este código crea un botón con el texto «Hola, mundo!». El botón se centrará en la pantalla cuando se ejecute la aplicación.

Explorando los widgets y componentes

KivyMD proporciona una amplia gama de widgets y componentes para crear interfaces modernas. Algunos de los widgets más comunes incluyen:

  • MDRectangleFlatButton: Un botón con un fondo plano y un borde.
  • MDLabel: Una etiqueta de texto.
  • MDTextField: Un cuadro de texto.
  • MDSpinner: Una animación de carga.
  • MDProgressCircle: Un círculo de progreso.

Para obtener más información sobre los widgets y componentes disponibles en KivyMD, consulte la documentación oficial: https://kivymd.readthedocs.io/en/latest/.

Creando una interfaz compleja

Para crear una interfaz compleja, podemos combinar varios widgets y componentes. Por ejemplo, podemos crear una aplicación con un menú, una barra de herramientas y una pantalla de inicio.

El siguiente código crea una aplicación con un menú, una barra de herramientas y una pantalla de inicio:

Python
from kivymd.app import MDApp
from kivymd.uix.button import MDRectangleFlatButton
from kivymd.uix.screen import Screen
from kivymd.uix.menu import MDDropdownMenu
from kivymd.uix.toolbar import MDToolbar

class MyApp(MDApp):
    def build(self):
        screen = Screen()

        # Menú
        menu = MDDropdownMenu()
        menu.items = [
            {"text": "Opción 1"},
            {"text": "Opción 2"},
            {"text": "Opción 3"},
        ]

        # Barra de herramientas
        toolbar = MDToolbar(
            title="Mi aplicación",
            left_action_items=[
                MDRectangleFlatButton(
                    icon="language-python",
                    text="Python",
                ),
            ],
            right_action_items=[
                MDRectangleFlatButton(
                    icon="settings",
                    text="Configuración",
                ),
            ],
        )

        # Pantalla de inicio
        home_screen = Screen()
        home_screen.add_widget(
            MDLabel(
                text="Bienvenido a mi aplicación",
                pos_hint={"center_x": 0.5, "center_y": 0.5},
            )
        )

        # Agregar widgets a la pantalla
        screen.add_widget(toolbar)
        screen.add_widget(menu)
        screen.add_widget(home_screen)

        return screen

if __name__ == "__main__":
    MyApp().run()

Este código crea un menú con tres opciones. El menú se puede abrir y cerrar haciendo clic en el botón de menú en la barra de herramientas.

La barra de herramientas tiene dos botones de acción: un botón de Python en el lado izquierdo y un botón de Configuración en el lado derecho.

La pantalla de inicio tiene una etiqueta de texto que dice «Bienvenido a mi aplicación».

Conclusión

KivyMD es una herramienta poderosa para crear interfaces modernas y atractivas con Python. En este tutorial,