
- 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 框架編寫的應用程式由繼承自“kivy.app.App”類的類的物件表示。呼叫此物件的 run() 方法啟動應用程式,並進入無限事件迴圈。
應用程式 GUI 透過重寫 App 類中的 build() 方法或提供相應的“.kv”檔案來設定。
應用程式配置
如果要提供一個或多個引數的自定義配置,則在呼叫 App 類的 build_config() 方法時將建立一個 config.ini 檔案。
這是一個 build_config() 方法的示例。它將兩個引數的值儲存在“ini”檔案的“section1”部分中。“ini”檔案的名稱將與應用程式類名稱相同(如果應用程式類名稱字尾為“App”,則去掉“App”)。因此,如果您的應用程式類是“HelloApp”,則將建立“hello.ini”檔案。“ini”檔案中的引數將在呼叫 build() 方法時載入。
def build_config(self, config): config.setdefaults('section1', { 'Company': 'TutorialsPoint', 'year': '2023' })
新增部分後,將在包含“hello.py”檔案的同一目錄中建立“hello.ini”檔案。
如下所示在 build() 方法中載入和使用配置設定:
def build(self): config = self.config l1 = Label(text="© {} Year {}".format( config.get('section1', 'company'), config.getint('section1', 'year')), font_size=40) return l1
執行應用程式時,將透過讀取“config”檔案填充 Label。
示例
這是完整的程式:
from kivy.app import App from kivy.uix.label import Label from kivy.core.window import Window class HelloApp(App): Window.size = (720, 300) def build_config(self, config): config.setdefaults('section1', { 'Company': 'TutorialsPoint', 'year': '2023' }) def build(self): config = self.config l1 = Label(text="© {} Year {}".format( config.get('section1', 'company'), config.getint('section1', 'year')), font_size=40) return l1 app = HelloApp() app.run()
輸出
執行應用程式時,它將生成以下視窗作為輸出:

查詢應用程式資料夾中建立的“hello.ini”檔案。使用文字編輯器開啟它時,它顯示以下內容:
[section1] company = TutorialsPoint year = 2023
App 類中的例項方法
App 類定義以下例項方法:
build() - 此方法初始化應用程式,並且僅呼叫一次。如果此方法返回一個小部件(樹),它將用作根小部件並新增到視窗。
build_config() - 此方法在初始化應用程式之前構造 ConfigParser 物件。根據您在此處放置的任何預設節/鍵/值配置,將在本地目錄中建立“ini”檔案。
load_config() - 此函式返回包含應用程式配置的 ConfigParser。
load_kv() - 如果之前沒有為此應用程式構建小部件樹,則第一次執行應用程式時將呼叫此方法。然後,此方法會在與包含應用程式類的檔案相同的目錄中查詢匹配的“kv”檔案。
pause() - 此方法使應用程式暫停。
run() - 呼叫此方法時,它將以獨立模式啟動應用程式。
stop() - 此方法停止應用程式。
on_pause() - 這是一個事件處理程式方法,在請求暫停模式時呼叫。如果它返回 True,則應用程式可以進入暫停模式,否則應用程式將停止。
on_resume() - 從暫停模式恢復應用程式的事件處理程式方法。
on_start() - 此方法是“on_start”事件的事件處理程式。它在初始化之後(在呼叫 build() 之後)但應用程式開始執行之前觸發。
on_stop() - 應用程式執行結束後(即視窗即將關閉)觸發的“on_stop”事件。此方法處理 on_stop 事件。