Tutorial de Kivy Python: ¡Cree aplicaciones móviles en Python!

Tutorial de Python Kivy

En este tutorial de Kivy Python, aprenderá a usar Kivy para el desarrollo de aplicaciones Python. Con el tiempo, comprenderá cómo empezar a crear aplicaciones multiplataforma para Android, iOS y Windows con Python.


Python es un lenguaje de programación poderoso, flexible y amigable para principiantes que rápidamente se ha convertido en una de las opciones más populares para los desarrolladores. Pero si bien Python es acogedor para los recién llegados y lo suficientemente flexible para los profesionales, aprovecharlo al máximo generalmente requiere un poco de ayuda.

Lea también: Cómo hacer un juego en Python: una introducción a Pygame

Es decir, no hay mucho que pueda construir con Python fuera de la caja. Si desea crear un juego, necesitará el módulo Pygame. Si va a crear un sitio web, deberá utilizar uno de los frameworks populares de Python, como Flask.

Pero, ¿qué pasa si quieres crear una aplicación para Android? Si es así, ¡necesitas Kivy!

Kivy es una biblioteca de Python que admite el desarrollo multiplataforma. Esto significa que puede utilizar una única base de código para crear aplicaciones de Android, iOS e incluso de Windows, Linux y MacOS. Kivy proporciona elementos de interfaz de usuario modernos y flexibles y, por supuesto, te permite seguir usando tu nuevo idioma favorito para crear todo.

Entonces, ¿cómo empezar? Averigüemos en este tutorial de Kivy Python.

Tutorial de Kivy Python: configuración

Primero necesitas descargar e instalar Kivy. Afortunadamente, puede hacerlo a través de pip. Así que primero asegúrese de que Python esté instalado en su máquina. De lo contrario, puede solucionarlo siguiendo nuestra útil guía:

Cómo instalar Python y comenzar a codificar en Windows, Mac o Linux

A continuación, deberá abrir un símbolo del sistema en la carpeta Python o agregar Python a PATH, si está en Windows. O puede usar la terminal.

Entonces, ve al instrucciones proporcionadas en Kivy.org. Esto le dará una guía detallada para hacer que las cosas funcionen.

La versión de Cliff Notes: asegúrese de tener la última versión pip, wheel y virtualenv ejecutando el siguiente comando desde la línea de comandos:

python -m pip install --upgrade pip wheel setuptools virtualenv

Entonces, cree un entorno virtual para su proyecto Kivy:

python -m virtualenv kivy_venv

kivy_venvScriptsactivate

(O fuente kivy_venv / Scripts / enable si está en una terminal bash).

Instalar Kivy en sí

Crédito: Adam Sinicki / Autoridad de Android

Si eso no funciona, intente usar “py” en lugar de “python”. A continuación, instale las dependencias que necesite. Estos ocupan algo de espacio, así que si quieres ser:

python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*

python -m pip install kivy_deps.gstreamer==0.1.*

python -m pip install kivy_deps.angle==0.1.* (If you have Python 3.5+)

Finalmente, instale Kivy y los ejemplos:

python -m pip install kivy==1.11.1

python -m pip install kivy_examples==1.11.1

Nuevamente, puede seguir las instrucciones en Kivy.org para obtener una guía más detallada.

Una vez hecho todo esto, ¿por qué no echar un vistazo a uno de los ejemplos?

python kivy_venvsharekivy-examplesdemoshowcasemain.py

Aquí encontrará una variedad de diseños de botones diferentes y podrá interactuar con ellos; una descripción general de los tipos de interfaces de usuario que puede crear con el desarrollo de aplicaciones Python a través de Kivy!

Ejemplo de Kivy

Crédito: Adam Sinicki / Autoridad de Android

Tenga en cuenta que deberá crear su propio entorno virtual cada vez que inicie el desarrollo. Entonces, ¡no cierres esa ventana de CMD todavía!

Tu primera aplicación

Para comenzar, cargue su Kivy IDE / editor favorito. Nuevamente, puede descubrir cómo hacer esto en nuestra publicación anterior. Usaré Visual Studio.

Ahora ingrese el siguiente código:

import kivy
kivy.require('1.9.0')

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

class HelloWorld(App):
    
    def build(self):
        return Label(text="Hello Wolrd")

helloWorld = HelloWorld()

helloWorld.run()

Para ejecutarlo, deberá volver a la terminal / línea de comando, buscar el archivo y luego ejecutarlo. Llamé a mi Python_Kivy_Example.py.

Si todo ha ido bien, será recibido con las palabras “¡Hola mundo!” en la pantalla:

Kivy Hola Mundo

Crédito: Adam Sinicki / Autoridad de Android

Recuerde: debe utilizar el entorno Kivy que configuró para que esto funcione. Si en este script, primero importamos Kivy y los elementos individuales que necesitamos (una aplicación y una etiqueta). Kivy.require () es lo que usamos para apuntar a una versión mínima de Kivy.

A continuación, creemos una clase llamada Hola Mundo, con función de llamada construir, que devolverá una etiqueta con el texto “Hola mundo” (según la tradición).

Finalmente, estamos creando nuestro objeto Hello World y luego ejecutándolo. ¡Auge! ¡Aquí está su primera aplicación Kivy Python!

Otras cosas que podemos hacer

Este fue un proyecto introductorio muy simple para mostrarle cómo funciona Kivy para el propósito de este tutorial de Kivy Python.

Entonces, ¿qué más puede hacer este chico malo?

Una cosa inteligente que podemos hacer con Kivy es separar la capa de la interfaz de usuario del código, tal como lo hacemos en Android Studio (donde la interfaz de usuario es manejada por XML en archivos separados). Lo haríamos creando archivos Kivy separados que luego podrían mostrar botones y similares.

Entonces, creemos un nuevo archivo Kivy y llamémoslo HelloWorld. Aquí, agregue el siguiente código:

<label>:
	text: "Hello World"

Asegúrese de que este archivo esté guardado en la misma carpeta que su archivo Python con la extensión “.kv”, luego cambie ligeramente el código original:

import kivy
kivy.require('1.9.0')

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

class HelloWorld(App):
    
    def build(self):
        return Label()

helloWorld = HelloWorld()

helloWorld.run()

Notará que todo lo que hicimos fue eliminar el contenido de los siguientes corchetes Etiqueta. Es importante que nombremos la clase y el archivo Kivy de la misma manera, ¡ya que así es como Python sabe cómo asociar los dos! ¡Dale a ejecutar, y deberías encontrar que todo se ve como antes!

Ahora puede hacer cosas como cambiar el color y el tamaño de la etiqueta:

<label>:
	text: "Hello World"
	pos: 0, 100
	size: 100, 50
	color: .8,.9,0,1
	font_size: 32

Tenga en cuenta que para que esto funcione, también debe importar “color”.

from kivy.graphics import Color

Si queremos apilar varios widgets en un diseño, necesitamos hacer un par de pequeños cambios. En lugar de devolver una etiqueta, devolveremos un diseño. Usaremos el diseño de caja, que es una de las opciones más simples.

Diseño de caja Kivy

Crédito: Adam Sinicki / Autoridad de Android

Esto simplemente apilará sus widgets de arriba a abajo o de izquierda a derecha, dependiendo de si lo establece en “vertical” u “horizontal”.

<BoxLayout>:
    orientation: 'vertical'
    Label:
        text: 'Label 1'
    Label:
        text: 'Label 2'
    Label:
        text: 'Label 3'

Luego puede verlo usando el siguiente código:

import kivy
kivy.require('1.9.0')

from kivy.app import App
from kivy.uix.button import Label
from kivy.uix.boxlayout import BoxLayout

class HelloWorld(App):
    def build(self):
      return BoxLayout()

helloWorld = HelloWorld()
helloWorld.run()

Presione el botón de administración

Lo siguiente que necesita un buen tutorial de Kivy Python es una forma de manejar eventos y lógica. Si queremos intercambiar esas etiquetas con botones, podemos hacerlo de manera muy simple importando “Botón” en lugar de etiqueta e intercambiando cada referencia.

Pero no lo haremos. En cambio, para simplificar las cosas, solo nos queda un botón. Este botón imprimirá “Hola mundo” en el CMD / terminal cuando se haga clic en él.

Su archivo KV se verá así:

<Controller>:
	BoxLayout: 
		orientation: 'vertical'

		Button:
			text: 'Button 1'
			on_press: root.button_pressed()

Aquí hemos agregado dos nuevas características de interés: la etiqueta del controlador y on_press. La etiqueta del controlador es nuestro “widget raíz”. Todos los demás widgets del archivo son “hijos” de esa raíz. El otro punto de interés es “on_press”. Esto llama a una función que estamos agregando al código.

Ese código se ve así:

import kivy
kivy.require('1.9.0')

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout


class RootWidget(BoxLayout):
    def __init__(self):
        super(RootWidget, self).__init__()
        
    def button_pressed(self):
        print("Hello there")
    
class HelloWorld(App):

    def build(self):
        return RootWidget()


helloWorld = HelloWorld()

helloWorld.run()

Como puede ver, ahora devolvemos “RootWidget” como punto de vista. Mientras tanto, RootWidget tiene su propia clase, que contiene un pequeño código repetitivo para inicializar la vista, junto con el botón_primido función. Aquí es donde estamos

También podemos llevar este tutorial de Kivy Python un paso más allá mostrándole cómo cambiar el diseño del código. Para hacer esto, solo necesitamos crear una etiqueta para una de nuestras vistas, para que podamos hacer referencia a ella más tarde.

El nuevo archivo Kivy:

import kivy
kivy.require('1.9.0')

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout


class RootWidget(BoxLayout):
    def __init__(self):
        super(RootWidget, self).__init__()
        
    def button_pressed(self):
        self.lbl.text = "Hello World!"

    
class HelloWorld(App):

    def build(self):
        return RootWidget()


helloWorld = HelloWorld()

helloWorld.run()

El nuevo archivo de Python:

<RootWidget>:
	lbl: my_label

	BoxLayout: 
		orientation: 'vertical'

		Button:
			text: 'Button 1'
			on_press: root.button_pressed()

		Label:
			id: my_label
			text: 'Waiting...'

Al hacer clic en el botón, ahora se mostrará “¡Hola mundo!” en una etiqueta ubicada directamente debajo.

Presione el botón Kivy

Crédito: Adam Sinicki / Autoridad de Android

Hay mucho más que puedes hacer, pero espero que este tutorial de Python Kivy te haya dado una buena base sobre la que construir. Hay toneladas de recursos y tutoriales, ¡así que elige un proyecto fácil y pruébalo!

Lea también: Cómo definir una función en Python

¡Pero espera! Probablemente se esté preguntando cómo empaquetar todo esto en un archivo APK. Para hacer esto, necesitará usar otra herramienta externa llamada Buildozer. Este es un artículo para otro momento. Pero mientras tanto, puede seguir la documentación: Guía de programación> Crear un paquete de Android.

Como puede ver, hay un muy que puede hacer con Python una vez que se sienta cómodo con él. Si quieres convertirte en un profesional con este fantástico idioma, ¿por qué no tomar un curso en línea? Puede encontrar algunos descuentos increíbles en los mejores cursos de Python y aprender desde $ 40 en nuestra guía de los mejores cursos de Python en línea.


Para obtener más noticias, funciones y tutoriales para desarrolladores de Android Authority, ¡no se pierda la suscripción al boletín mensual a continuación!

About MiReal

Compruebe también

Blog para desarrolladores de Android: ¡Jetpack Compose Beta anunciado!

Publicado por Anna-Chiara Bellini, Gerente de producto, Nick Butcher, Relaciones con desarrolladores Hoy lanzamos la …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *