我的代码适用于保存在同一目录中的图像。
#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
Builder.load_string('''
<MenuScreen>:
GridLayout:
cols: 1
Button:
on_press: root.val1()
Image:
source: "myimage.PNG"
size: self.parent.width, self.parent.height
allow_stretch: True
keep_ratio: False
''')
class MenuScreen(Screen):
def val1(self):
print "i am executed"
sm = ScreenManager()
menu = MenuScreen(name='menu')
sm.add_widget(menu)
class MainApp(App):
def build(self):
return sm
if __name__ == '__main__':
MainApp().run()
如果我想从外部来源拍摄图像,那么应该在此代码中进行哪些更改
Image:
source: "http://example.com/myimage.jpg"
显然这不起作用。请帮忙。
答案 0 :(得分:1)
请尝试使用AsyncImage
。来自documentation:
异步加载图像(例如从外部加载) webserver),使用AsyncImage子类:
aimg = AsyncImage(source='http://mywebsite.com/logo.png')
这可能很有用,因为它会阻止您的应用程序等到 图像已加载。如果要显示大图像或检索 它们来自URL,使用AsyncImage将允许这些资源 在后台线程上检索而不会阻止您的应用程序。