- Kivy 教程
- Kivy - 首頁
- Kivy 基礎
- Kivy - 開始
- Kivy - 安裝
- Kivy - 架構
- Kivy - 檔案語法
- Kivy - 應用
- Kivy - Hello World
- Kivy - 應用生命週期
- Kivy - 事件
- Kivy - 屬性
- Kivy - 輸入
- Kivy - 行為
- Kivy 按鈕
- Kivy - 按鈕
- Kivy - 按鈕事件
- Kivy - 按鈕顏色
- Kivy - 按鈕大小
- Kivy - 按鈕位置
- Kivy - 圓形按鈕
- Kivy - 停用按鈕
- Kivy - 圖片按鈕
- Kivy 元件
- Kivy - 元件
- Kivy - 標籤
- Kivy - 文字輸入
- Kivy - 畫布
- Kivy - 線
- Kivy - 複選框
- Kivy - 下拉列表
- Kivy - 視窗
- Kivy - 滾動檢視
- Kivy - 輪播
- Kivy - 滑塊
- Kivy - 圖片
- Kivy - 彈出視窗
- Kivy - 開關
- Kivy - 微調器
- Kivy - 分隔器
- Kivy - 進度條
- Kivy - 氣泡
- Kivy - 標籤頁面板
- Kivy - 散點圖
- Kivy - 手風琴
- Kivy - 檔案選擇器
- Kivy - 顏色拾取器
- Kivy - 程式碼輸入
- Kivy - 模態檢視
- Kivy - 切換按鈕
- Kivy - 相機
- Kivy - 樹檢視
- Kivy - reStructuredText
- Kivy - 動作欄
- Kivy - 影片播放器
- Kivy - 模板檢視
- Kivy - 虛擬鍵盤
- Kivy - 觸控漣漪
- Kivy - 音訊
- Kivy - 影片
- Kivy - 拼寫
- Kivy - 效果
- Kivy - 輸入記錄器
- Kivy - OpenGL
- Kivy - 文字
- Kivy - 文字標記
- Kivy - 設定
- Kivy 佈局
- Kivy - 佈局
- Kivy - 浮動佈局
- Kivy - 網格佈局
- Kivy - 箱式佈局
- Kivy - 堆疊佈局
- Kivy - 錨點佈局
- Kivy - 相對佈局
- Kivy - 分頁佈局
- Kivy - 迴圈佈局
- Kivy - 佈局巢狀
- Kivy 高階概念
- Kivy - 配置物件
- Kivy - 圖集
- Kivy - 資料載入器
- Kivy - 快取管理器
- Kivy - 控制檯
- Kivy - 動畫
- Kivy - 多筆畫
- Kivy - 時鐘
- Kivy - SVG
- Kivy - UrlRequest
- Kivy - 剪貼簿
- Kivy - 工廠
- Kivy - 手勢
- Kivy - 語言
- Kivy - 圖形
- Kivy - 繪圖
- Kivy - 打包
- Kivy - Garden
- Kivy - 儲存
- Kivy - 向量
- Kivy - 工具
- Kivy - 檢查器
- Kivy - 工具
- Kivy - 日誌記錄器
- Kivy - 幀緩衝區
- Kivy 應用和專案
- Kivy - 繪圖應用
- Kivy - 計算器應用
- Kivy - 計時器應用
- Kivy - 相機處理
- Kivy - 圖片檢視器
- Kivy - 貝塞爾曲線
- Kivy - 畫布壓力測試
- Kivy - 圓形繪製
- Kivy - 元件動畫
- Kivy - 其他
- Kivy 有用資源
- Kivy - 快速指南
- Kivy - 有用資源
- Kivy - 討論
Kivy - 應用生命週期
一個 Kivy 應用從執行到停止會經歷不同的階段。下圖顯示了這些不同的階段:
現在讓我們詳細討論每個階段:
初始化 UI
Kivy 框架中的 App 類代表一個 Kivy 應用。建立 App 物件是應用生命週期的第一步。
from kivy.app import App
宣告 App 類的子類,並重寫 build() 方法。
from kivy.app import App
class MyApp(App):
def build(self):
#UI Design
它透過呼叫 build() 方法或使用“.kv”檔案來構建應用的 UI。如果需要,應用的配置將從相應的“.ini”檔案載入。
事件迴圈
載入使用者介面後,App 物件進入無限事件迴圈。
if __name__ == '__main__': MyApp().run()
介面中組裝的各種元件現在會吸收使用者互動,例如按鈕點選或文字輸入,並根據相應的事件處理程式做出響應。響應使用者互動,任何元件或應用的狀態都可能被修改。
要執行應用程式,請從作業系統終端執行以下命令:
Python MyApp.py
你可以在 Windows 或 Linux 上以這種方式執行你的 Kivy 應用,但要在 Android 上執行它,你可能需要採取一些額外的步驟。對於 Android,你應該構建一個 APK(Android Package Kit)。
你應該使用**Buildozer**,這是一個自動化整個構建過程的工具。它安裝 python-for-android 的所有先決條件,包括 android SDK 和 NDK,然後構建一個可以自動推送到裝置的 APK。Buildozer 目前僅在 Linux 和 macOS 上執行(對於 Windows,請在機器上啟用 WSL,然後在 WSL 中使用 Buildozer)。
暫停/恢復
應用執行時,可以將其暫停。例如,如果應用程式視窗最小化,或裝置本身進入睡眠模式,暫停模式有助於節省資源。
Kivy 有一個 on_pause() 事件處理程式。請求暫停模式時會呼叫它。如果你的應用可以進入暫停模式,則應返回 True,否則返回 False,你的應用程式將停止。你無法控制應用程式何時進入此模式。它由作業系統決定,主要用於移動裝置(Android/iOS)和調整大小。
應用可以從暫停點恢復執行。
當你的應用程式從暫停模式恢復時,Kivy 的 on_resume() 事件處理程式將被呼叫。
恢復時,OpenGL 上下文可能已損壞/釋放。你可以在此處重建部分 OpenGL 狀態。
停止
這是使用者透過呼叫應用程式碼中適當的方法來關閉應用時。在應用執行終止之前,將執行所有清理操作。