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就能搞定。要是遇到問題也別怕,社群裏的大佬們都可熱心了!