[英]How to detect end of picture download in AsyncImage in Kivy?
我正在寫一個像這樣的簡單應用:
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import AsyncImage
class Application(App):
def build(self):
box_layout = BoxLayout(orientation='vertical')
img = AsyncImage(
source='http://pl.python.org/forum/Smileys/default/cheesy.gif')
box_layout.add_widget(img)
return box_layout
def __on_image_loaded(self):
print('Very importatn stuff executed afer image has been downloaded by img widget.')
app = Application()
app.run()
如何檢測到AsyncImage小部件已從給定的URL下載圖片結束?
另外,我可以自己編寫下載線程並使用Image小部件,但是在這種情況下,我該怎么做才能將內存中的原始字節加載到Image小部件中以將它們顯示為圖片?
您可以使用img._coreimage.bind(on_load=self.on_image_loaded)
:
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import AsyncImage
class Application(App):
def build(self):
box_layout = BoxLayout(orientation='vertical')
img = AsyncImage(source='http://pl.python.org/forum/Smileys/default/cheesy.gif')
img._coreimage.bind(on_load=self.on_image_loaded)
box_layout.add_widget(img)
return box_layout
def on_image_loaded(self, *args):
print('Very importatn stuff executed afer image has been downloaded by img widget.')
app = Application()
app.run()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.