通过python中的kivy模块开发app

Posted xuanan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过python中的kivy模块开发app相关的知识,希望对你有一定的参考价值。

前言:最近在研究怎么开发app,想用java开发感觉又要学习java,太浪费时间太难了,由于我是python开发工程师于是就在想既然python无所不能,为啥我不通过python来开发app呢,于是我搜索了国内国外大量的资料,最终通过比较锁定了通过python的kivy模块来快速开发app。

一、为什么会选择kivy

  1、首先我对python熟悉,kivy是python的一个模块,容易掌握。

  2、python中的其他模块也可以开发出app,但是kivy模块可以跨平台开发,也就是说kivy开发的app一次编码,就能够让你的APP能够运行在IOS,Android,Windows,Linux甚至树莓派上运行。

二、搭建及安装kivy环境请参考:https://www.cnblogs.com/CoXieLearnPython/p/9231949.html

三、通过kivy编写一个简单的hello world app

  1、就和最开始python写web app一样,一个文件就包含了css样式,js代码等。这个hello.py文件也是一样,包含了代码的逻辑部分和页面渲染部分,感觉这样做极为丑陋

技术分享图片
 1 #! /usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # __author__ = "Xuan"
 4 # Date: 2018/9/28
 5 # Time: 下午12:23
 6 # File: hello.py
 7 import kivy
 8 
 9 kivy.require(1.9.1)
10 from kivy.app import App
11 from kivy.uix.button import Label
12 
13 
14 class HelloApp(App):
15     def build(self):
16         return Label(text=Hello World)
17 
18 
19 if __name__ == "__main__":
20     HelloApp().run()
View Code
技术分享图片
from kivy.app import App
from kivy.lang import Builder

kv = Builder.load_string(‘‘‘ Button: text: "I was created by kv codes" ‘‘‘)


class TestApp(App):
    def build(self):
        return kv


TestApp().run()
View Code

 

四、分析kivy

  1、个人感觉kivy可以分为两层,即控制层和表现层。控制层主要是python代码的逻辑部分,而表现层主要是kv语言的页面渲染部分。我们分别使用控制层与表现层来展现我们的APP,使得代码更加方便管理,分工更加清晰。

技术分享图片
# File: hello2.py,控制层代码
from kivy.app import App
from kivy.uix.button import Label
class Hello2App(App):
    def build(self):
        return Label()
if __name__== "__main__":
    Hello2App().run()
View Code
技术分享图片
#:kivy 1.9.1
# File: hello2.kv,表现层代码
<Label>:
    text: Hello World !
View Code

 


以上是关于通过python中的kivy模块开发app的主要内容,如果未能解决你的问题,请参考以下文章

kivy:ImportError:没有名为app的模块[重复]

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

python开发安卓app可行吗

如何Python写一个安卓APP

Kivy 标签中的断线不起作用(Python)

[Python 应用:Android App] Hello World App 之Kivy 介绍以及基本配置