當前位置: 妍妍網 > 談車

Kivy,一個跨平台GUI王者的Python庫!

2024-12-12談車

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