Kivy - 檔案語法



Kivy 框架提供了一種簡潔且宣告式的方法來定義視窗小部件的結構和外觀,使用 Kivy 語言(也稱為 **Kv 語言**)。它是一種宣告式語言,專門用於構建 Kivy 應用程式中的使用者介面。其主要優點是可以將 UI 設計與用 Python 編寫的應用程式邏輯分離。

UI 設計定義在一個文字檔案中,該檔案必須具有“.kv”副檔名。它包含應用程式視窗中視窗小部件的分層序列。該檔案採用樹狀結構,顯示視窗小部件之間的父子兄弟關係。在每個視窗小部件下方,指定其屬性、事件和事件處理程式。

**kv** 設計語言在建立“.kv”檔案時規定以下約定,以便 Python 和 Kivy 框架能夠識別和載入相應的視窗小部件結構:

  • 檔名必須小寫

  • 它必須與應用程式中的主類匹配。此類繼承自 App 類。

  • 如果類名以“app”或“App”結尾(例如,**HelloApp**),則“.kv”檔案必須排除其名稱中的“app”。這意味著,對於 HelloApp 類,“.kv”檔案的檔名必須為“hello.kv”。

  • “.kv”檔案必須與 Python 應用程式檔案(.py)位於同一資料夾中。

使用“.kv”檔案時,App 類不會覆蓋 build() 方法。只需使用 pass 語句宣告一個類就足夠了。當呼叫 run() 方法時,Kivy 會自動從相應的“.kv”檔案載入 UI。

讓我們首先從 HelloApp 類中刪除 build() 方法:

示例

from kivy.app import App
class HelloApp(App):
   pass
app = HelloApp()
app.run()

使用者介面定義在同一資料夾中的“hello.kv”檔案中。我們有一個垂直方向的頂級 BoxLayout,在其下方放置了兩個標籤。將以下指令碼另存為“hello.kv”檔案

BoxLayout:
   orientation: 'vertical'
   Label:
      text: 'Python Kivy Tutorial'
      font_size: '30pt'
   Label:
      text: 'From TutorialsPoint'
      font_size: '50'
      color: (1,0,0,1)

現在,如果您執行“hello.py”程式,它將生成以下輸出:

輸出

kivy file syntax

在後面的章節中,我們將學習如何在“.kv”檔案中向視窗小部件新增事件處理程式。

廣告