
- 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 框架中的 Loader 類是一個非同步資料載入器,即使資料尚不可用,它也能載入影像。當您想要從網際網路 URL 載入影像時,此功能特別有用。
Loader 類在 kivy.loader 模組中定義。Loader 類的典型用法如下:
from kivy.loader import Loader image = Loader.image('http://mysite.com/test.png')
使用 loading_image 屬性指定預設影像。
Loader.loading_image = Image(default.png')
Loader 類具有以下屬性:
error_image - 用於錯誤的影像。例如:
Loader.error_image = 'error.png'
image(filename) - 使用 Loader 載入影像。返回一個帶有載入影像的 ProxyImage。
loading_image - 用於載入的影像。例如:
Loader.loading_image = 'loading.png'
max_upload_per_frame - 每幀上傳的影像數量。預設情況下,我們每幀只上傳 2 張影像到 GPU。
num_workers - 載入時使用的 worker 數量。此設定僅在初始化時影響載入器。載入器啟動後,此設定無效。
from kivy.loader import Loader Loader.num_workers = 4
預設值為“2”,以提供流暢的使用者體驗。
ProxyImage() - Loader.image() 函式返回的影像。
proxyImage = Loader.image("test.jpg")
pause() - 暫停載入器。
resume() - 在 pause() 後恢復載入器。
run() - 載入器的主迴圈。
start() - 啟動載入器執行緒/程序。
stop() - 停止載入器執行緒/程序。
當影像載入或更改時,將觸發“on_load”事件。類似地,當影像無法載入時,將觸發“on_error”事件。“error: 發生的異常資料”。
示例
在下面的程式碼中,Loader 物件從網際網路 URL 載入影像。Loader 返回的 ProxyImage 物件繫結到其 on_load 事件上的方法。回撥方法使用其紋理作為 Image 物件的紋理屬性。
from kivy.app import App from kivy.uix.image import Image from kivy.loader import Loader from kivy.core.window import Window Window.size = (720,400) class MyApp(App): title='Loader' def _image_loaded(self, proxyImage): if proxyImage.image.texture: self.image.texture = proxyImage.image.texture def build(self): proxyImage = Loader.image('https://source.unsplash.com/user/c_v_r/640x480') proxyImage.bind(on_load=self._image_loaded) self.image = Image() return self.image MyApp().run()
輸出
執行後,將產生以下輸出:

廣告