Kivy,一个跨平台GUI王者的Python库!
说到制作桌面应用程序,可不得不提Python的 Kivy库 。我用了好几年,越用越觉得它厉害!跨平台开发小程序,真是又快又好。你们知道吗,用它甚至能开发手机APP,这也太牛了吧!
1.
Kivy是个啥?
简单来说,Kivy就是个用Python写界面的工具库。它特别厉害的地方在于,你写一次代码,到哪都能用 - Windows、Mac、Linux、Android、iOS统统不在话下!代码写起来也特别顺手,界面设计还可以用它特有的Kv语言,把界面和功能分开写,代码看着贼清爽。
from kivy.app import App
from kivy.uix.button import Button
class HelloApp(App):
def build(self):
return Button(text='点我呀!')
HelloApp().run()
温馨提示:第一次接触Kivy的小伙伴记得先装好依赖包哦!用pip安装就成:
pip install kivy
2.
Kivy的独门绝技
说实话,最让我佩服的就是它的触摸支持了。不管是点击、拖拽还是多点触控,统统不在话下。写个简单的画板应用轻轻松松:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Line
class DrawBoard(Widget):
def on_touch_down(self, touch):
with self.canvas:
touch.ud['line'] = Line(points=[touch.x, touch.y])
def on_touch_move(self, touch):
touch.ud['line'].points += [touch.x, touch.y]
class DrawApp(App):
def build(self):
return DrawBoard()
3.
界面布局有妙招
布局这块儿可有意思了!Kivy提供了各种各样的布局方式,就跟搭积木似的。BoxLayout、GridLayout、FloatLayout随你挑,想咋排就咋排:
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
layout = BoxLayout(orientation='vertical')
layout.add_widget(Button(text='按钮1'))
layout.add_widget(Button(text='按钮2'))
4.
动画效果不用愁
要说最炫的还得是动画效果,几行代码就能让界面动起来,看着多带劲儿:
from kivy.animation import Animation
anim = Animation(pos=(100, 100), duration=1) + Animation(size=(200, 200))
anim.start(my_widget)
温馨提示:动画叠加的时候要当心,别叠太多容易卡噢!
5.
自定义控件随心配
Kivy最棒的地方在于它的可扩展性,想整啥控件自己造就完事了:
from kivy.uix.widget import Widget
from kivy.properties import NumericProperty
class MyWidget(Widget):
score = NumericProperty(0)
def increase_score(self):
self.score += 1
大家用Kivy开发的时候记得多查查官方文档,里面有不少现成的例子。我就是这么一点一点摸索过来的,踩过的坑不计其数。不过只要坚持下去,你也能写出特别炫酷的应用!
写好的程序打包发布也很简单,用pyinstaller或者buildozer就能搞定。要是遇到问题也别怕,社区里的大佬们都可热心了!