
- 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 提供了一個名為 ExceptionHandler 的類,可以管理由 Kivy 或您自己的程式碼引發的異常。
ExceptionManager 類定義在 "kivy.base" 模組中。您需要從 "kivy.base" 匯入它並訪問處理 Kivy 異常的例項。您可以使用此類為不同型別的異常新增自定義處理程式,或覆蓋異常發生時 Kivy 的預設行為。例如,您可以使用 handle_exception 方法記錄異常、向用戶顯示訊息或優雅地退出應用程式。
from kivy.base import ExceptionHandler, ExceptionManager from logging import Logger class handler(ExceptionHandler): def handle_exception(self, inst): Logger.exception('Exception caught by ExceptionHandler') return ExceptionManager.PASS ExceptionManager.add_handler(handler())
一個處理程式函式,它以異常作為引數,並返回以下值之一:
ExceptionManager.PASS - 異常應被忽略,因為它已被處理程式處理。
ExceptionManager.RAISE - 異常應重新引發。
ExceptionManager.USER_HANDLED - 異常已由使用者處理,不應記錄。
您還可以使用 handle_exception 方法使用已註冊的處理程式手動處理異常。
Kivy - 資源管理
"kivy.resources" 模組包含在路徑列表中搜索特定資源的功能,特別是如果您的應用程式處理多個路徑和專案。
當 Kivy 查詢任何資源(例如影像檔案或 "kv" 檔案)時,它會搜尋一組預定的資料夾。您可以使用 resource_add_path() 和 resource_remove_path() 函式修改此資料夾列表。
如果您想使用任何替代 default.kv 或 data/defaulttheme0.png,您可以透過 resource_add_path() 方法新增您首選替代方案的路徑。
"kivy.resources" 模組中定義了以下函式:
resource_add_path(path) - 新增一個自定義搜尋路徑。
resource_find(filename, use_cache=False) - 在路徑列表中搜索資源。查詢結果會被快取 60 秒。這可以透過 use_cache=False 停用。
resource_remove_path(path) - 刪除搜尋路徑。
Kivy - 弱代理
Python 使用引用計數演算法進行垃圾回收,透過計算有多少物件引用某個物件。如果垃圾收集器發現一個物件被另一個物件引用,則它不能被垃圾回收。如果計數器達到零,垃圾收集器將釋放該物件。
弱引用是指不會阻止物件被垃圾回收的引用。為了建立弱引用,Python 提供了一個名為 weakref 的模組。
Kivy 在 kivy.weakproxy 模組中定義了 WeakProxy 類。為了允許垃圾回收,WeakProxy 類提供物件的弱引用。它有效地增強了 weakref.proxy,並添加了比較支援。
Kivy - 上下文
Kivy 物件 Clock、Cache 和 Builder 是全域性物件。要在當前應用程式的上下文中使用它們,您必須註冊它。kivy.context 模組定義了一個 Context 類,它繼承了 Python 的內建 dict 類的屬性。
除了 dict 方法外,我們還有在此模組中定義的以下函式:
get_current_context() - 返回當前上下文。
register_context(name, cls, *args, **kwargs) - 註冊一個新的上下文。