一个简单的 Python-kivy 小程序
作者:互联网
大家都知道,Python的用处是所有语言里面最广泛的,这使得它几乎可以开发任何的项目(除了前端)。
而有一个方向是大家可能不熟悉,但是又确实存在的,那就是全平台APP开发,Python的kivy就是用来做这个事情的,你只需要一次编码,就能够让你的APP能够运行在IOS,Android,Windows,Linux甚至树莓派上。
简单的Hello World!
我们今天就来体验一下一`kivy`小程序,感受一下它写代码到底又多么容易
首先我们需要创建一个`kivy`主文件
# File: hello.py
import kivy
kivy.require('1.9.1')
from kivy.app import App
from kivy.uix.button import Label
class HelloApp(App):
def build(self):
return Label(text='Hello World')
if __name__=="__main__":
HelloApp().run()
然后通过python hello.py --size=200x150
来执行这个脚本,将会得到一个界面如下
控制层与表现层分离
虽然如上的程序编码起来已经很简单了,但是逻辑部分和表现部分的代码混杂在一起,并不方便管理,因此`Kivy`提供了两层分离结构。
控制层
# 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()
2. 表现层
#:kivy 1.9.1
<Label>:
text: 'Hello World !'
此处我们分别使用控制层与表现层来展现我们的APP,使得代码更加方便管理,分工更加清晰。
避免全局样式覆盖组件
以上虽然实现了开发过程中的代码可管理特性,但是按照如上的方法,所有的`Label`都将是同一个样式。因此为了避免这个情况,我们需要自定义组件(继承)
# File: widgets.py
from kivy.app import App
from kivy.uix.widget import Widget
class MyWidget(Widget):
pass
class WidgetsApp(App):
def build(self):
return MyWidget()
if __name__ == "__main__":
WidgetsApp().run()
<MyWidget>:
Button:
text: 'Hello'
font_size: 32
color: .8,.9,0,1
pos: 0,100
size: 100,50
Button:
text: 'World!'
font_size: 32
color: .8,.9,0,1
pos: 100,0
size: 100,50
注意:此处的<MyWidget>
不再简单的表示一个组件,而是象征着类。而Button:
表示的是实例,因此我们就在界面中创建了两个Button
实例。
例中样式解析
1、text
文本内容
2、font_size
文本字体大小
3、 color
文本颜色
4、pos
组件位置,以组件的左上角坐标为定位
5、size
组件大小,指定像素量
标签:__,Python,text,App,程序,kivy,import,size 来源: https://www.cnblogs.com/jlfw/p/12733139.html