App em Python e Kivy

Algoritmo de Exemplo ao usar a Linguagem kv

Kivy é um Framework em Python em que torna possível através dele a programação de apps multiplataforma, ou seja, com Kivy você pode criar aplicativos para Windows, Mac, Linux, Android ou Iphone.

Kv language é a linguagem do Framework Kivy para a construção dos elementos gráficos presentes no projeto, de forma que torna possível separar a parte gráfica da parte lógica do sistema.

Aqui listo três formas de usar a linguagem kv que consistem em: e usar o nome da classe no nome do arquivo .kv com todos os caracteres em minúsculo, usar o método load_file, usar o método load_string.

tres modos da kv language

Para o método em que se utiliza o nome da classe no nome do arquivo, basta no nome da classe terminar com o texto App e no nome do arquivo .kv preservar o nome da classe sem o texto App e com todos os caracteres em minusculo.

O código que preserva o nome da classe:

            # arquivo main.py
            import kivy
            from kivy.app import App 
            kivy.require("1.11.1")
            class arquivoKvApp(App):
                pass
            arquivoKvApp().run()
        

O arquivo .kv:

            # arquivo arquivokv.kv
            BoxLayout:
                orientation: "vertical"
                Label:
                    text: "Texto do arquivo .kv"
                Button:
                    text: "Botao kv"
        

O código do Método load_file:

            # arquivo main.py
            import kivy
            from kivy.app import App 
            from kivy.lang import Builder
            kivy.require("1.11.1")
            arquivokv = Builder.load_file("arquivokv.kv")
            class arquivoKvApp(App):
                def build(self):
                    return arquivokv
            arquivoKvApp().run()            
        

O código do Método load_string:

            # arquivo main.py
            import kivy
            from kivy.app import App 
            from kivy.lang import Builder
            kivy.require("1.11.1")
            arquivokv = Builder.load_string("""
            BoxLayout:
                orientation: "vertical"
                Label:
                    text: "Texto do arquivo .kv"
                Button:
                    text: "Botao kivy"
            """)
            class arquivoKvApp(App):
                def build(self):
                    return arquivokv
            arquivoKvApp().run()
        

Explicação do código

Veja que os três métodos fazem a mesma coisa: adicionar ao projeto os elementos visuais que compôem o sistema. O programador decidirá qual a melhor implementação em que vai usar em seu código. O modo load_file e o modo que utiliza o nome da classe são mais recomendados pois separam a parte lógica do sistema do código dos elementos gráficos, ao invés do modo load_string que funciona muito bem também mesmo assim.