Lo principal de kivy.
Instalación del entorno kivy.
Kivy depende de muchas bibliotecas de Python, como pygame, gstreamer , PIL, Cairo y mas.No son todos necesarios, pero dependiendo de la plataforma que está trabajando, pueden ser complicado para instalar.
Para windows y MacOS X, ofrecemos un paquete portatil que puede descomprimir y utilizar.
- Instalación en Windows
- Instalación en OS X
- Instalación en Linux
Si desea instalar todo usted mismo, asegúrese de tener al menos Cython y Pygame. Una instalación tipica de pip se ve asi:
pip install cython
pip install hg+http://bitbucket.org/pygame/pygame
pip install kivy
La version de desarrollo se puede instalar con git:
git clone https://github.com/kivy/kivy
make
Creando una aplicacion.
Crear una aplicación kivy es tan sencillo como:
- Una sub-clase de la clase App
- Implementando el método build() para que devuelva una instancia de widget(La raiz de su árbol de widgets="the root of your widget tree")
- Instaciando esta clase, y llamando al metodo run().
Aquí hay un ejemplo de una aplicación minima:
import kivy
kivy.require('1.0.6') # replace with your current kivy version !
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text='Hello world')
if __name__ == '__main__':
MyApp().run()
Puede guardalo en un archivo de texto, por ejemplo main.py y ejecutarlo.
Ciclo de vida kivy App.
En primer, vamos a familiarizarnos con el ciclo de vida de kivy app.
Como se puede ver arriba, para todos los efectos, nuestro punto de entrada en nuestra App es el método run(). y en nuesto caso es "MyApp().Run()". Volveremos a esto, pero empecemos desde la tercera linea:
from kivy.app import App
Es necesario que la clase base de la App hereda de la clase App. Está presente en el kivy_installation_dir/kivy/app.py.
Nota: Vamos y abre ese archivo si quieres profundiazar mas en lo que hace la clase de kivy App. Le animamos a que abra el codigo y lo lea. Kivy se basa en Python y utiliza Sphinx para la documentación, por lo que la documentación de cada clase está en el archivo actual.
Del mismo modo en la linea 2:
from kivy.uix.label import Label
Una cosa importante a tener en cuenta aqui es la forma de paquetes / clases que se establecen.El modulo uix es la sección que contiene los elementos de la interfaz de usuario como layouts y widgets.
Pasando en la linea 5:
class MyApp(App):
Aquí es donde estamos definiendo la Clase Base de nuestra aplicacion Kivy. Solo deberás cambiar el nombre de tu app (Myapp) en esta linea.
Más adelante en la linea 7:
def build(self):
Como destaca en la imagen anterior , mostrando el ciclo de vida de kivy App, esta es la función donde debe inicializar y devolver su Widget de raiz. Esto es lo que hacemos en la linea 8:
return Label(text='Hello world')
Aqui inicializamos una etiqueta con el texto "Hello World" y devolvemos su instacina. Esta etiqueta sera el Widget de raiz de esta App.
Nota: Python utiliza indentacion para denotar bloques de código, por lo tanto, tenga en cuenta que en el código proporcionado anteriormente, en la linea 9 termina la definición de clase y funcion.
Ahora la porción que hará que nuestra App funcione en la linea 11 y 12:
if __name__ == '__main__':
MyApp().run()
Aqui se inicializa la clase MyApp y se ejecuta su metodo run(). Esto inicializa e inicia nuestra aplicación kivy.