Como crear una aplicación en kivy - python - parte 1

Bienvenidos a una serie de entradas donde estaré explicando como crear una aplicación usando kivy- python. Lo que desarrollaremos sera una aplicación para escribir, editar o eliminar notas.  El objetivo de este tutorial es mostrarte lo sencillo que es poder desarrollar una app que funcione tanto en android como windows, linux y IOS.

Todo esto gracias a la biblioteca kivy que nos ofrece el fácil y rápido desarrollo de apps para los sistemas operativos ya mencionados. el código fue creado por tito. yo solo explicare a detalle como funciona, asumiendo que eres nuevo en kivy o python y quieres aprender y explorar, si ya tienes una base te sera mas fácil entender el tutorial.

Nuestra app quedara así:
Aplicacion de notas  creada en python usando kivy

Aplicación de notas creada en python usando kivy


Requisitos para este tutorial


  1. Tener instalado python 3.6
  2. Tener instalado kivy ultima version y sus dependencias
  3. Tener un IDE para trabajar. (Recomiendo pycharm)

Empezaremos creando nuestros archivos main.py y note.kv. como ya sabemos en main.py es donde programamos nuestra app y note.kv nos servirá para la parte gráfica de nuestra app.


Ya creado nuestros dos archivos lo primero que haremos sera exportar desde kivy unos módulos que nos servirán para crear partes gráficas y otros que son base para nuestra app. si quieres saber todos los módulos que kivy tiene visita kivy.org. Abrimos nuestro archivos principal main.py y agregamos:


from kivy.app import App


Aquí importamos en modulo App que es base de cualquier aplicación desarrollada en kivy. a esto le sumamos

from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen, SlideTransition
from kivy.properties import ListProperty, StringProperty, \
        NumericProperty, BooleanProperty
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.clock import Clock 
En módulos ScreenManager nos servirá para el manejo de cada ventana creada usando Screen y SlideTransition se encarga del efecto que veremos al cambiar de una ventana a otra. También importamos unas propiedades como ListProperty, StringProperty, NumericProperty, BooleanProperty estas las usaremos mas adelante y otros módulos que cuando los implementemos te entenderás para que sirven.

 Ahora crearemos los objetos que se encargaran de darle sentido a la app, crearemos 4 objetos. MutableTextInput que sera donde escribiremos nuestras notas, este objeto lo veremos dentro de NoteView que además nos permitirá tener una vista previa antes de editar nuestra nota.
NoteListItem donde veremos las notas ya creadas, Notes que sera nuestra ventana donde colocaremos lo anterior.

Recuerda que para crear un objeto usamos class Nombre_de_Objeto(aquía_rgumentos):  Nuestro código seria:


class MutableTextInput(FloatLayout):
    pass
class NoteView(Screen):
    pass
class NoteListItem(BoxLayout):
    pass
class Notes(Screen):
    pass
Por ultimo agregamos
class NoteApp(App):
    def build(self):
        pass
if __name__ == '__main__':
    NoteApp().run()
con esto codigo nuestra app correría sin ningún problema, eso si no veríamos nada mas que una pantalla negra, lo que acabamos de hacer es la implementación de modulo app, que se encargara de la creación de nuestra aplicación es por eso que agregamos def build(self):  Con este código le decimos a kivy que se encargue de todo lo que nuestra app necesite para crear todos los gráficos o cosas que el sistema necesita para que nuestra app corra perfectamente en android, windows, linux o IOS.

Ahora abrimos nuestro segundo archivo note.kv y Agregamos:

#:kivy 1.7.1
<NoteView>:
<NoteListItem>:
<Notes>:

En este caso empezaremos referenciando los objetos principales, ejemplo <NoteView>: estará conectado con nuestra objeto class NoteView(Screen): Recuerda que el lenguaje kv es para el fácil desarrollo de interfaz grafica, por lo tanto nos permite agregar widgets a nuestro objeto. ejemplo si queremos agregar un botón a NoteView(Screen): lo haremos de esta manera:


<NoteView>:
    Button:
        text: "Guardar"
        on_press: root.do_save()
        font_size: 32

Esto es solo un ejemplo de como se trabaja con el lenguaje kv. (No agregues esto al proyecto), Hasta aquí a llegado la parte 1 de como crear una aplicación usando kivy, en los proximos días publicare la siguiente parte.

Por favor cualquier duda o sugerencia dejanos un comentario. Gracias

2 comentarios:

  1. Que bien me pareció interesante el desarrollo de esta app, yo aun empiezo en esto y aprendo leendo espero lograrlo, me resulto de mucha ayuda

    ResponderEliminar
  2. bueno, acabo de copiar los códigos a los archivos que se proponen, revisaré la parte 2 a ver

    ResponderEliminar

Queremos saber que opinas del post, por favor comentamos todas tus opiniones, sugerencias y dudas