如何使用kivy显示图像
我该如何在我的当前工作目录中显示一张图片呢?
import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.image import Image
class MyApp(App):
def build(self):
return Image('b1.png')
MyApp().run()
2 个回答
4
对我来说,接受的结果既简单又全面。
我有一个更好的方法,使用 .kv 文件来实现:
- 在特定的布局中用“ids”设置你的照片
- 你可以动态地更换你的照片
Kivy.kv(文件)
<main_display>:
BoxLayout:
orientation: "vertical"
Image:
id: imageView
source: '<random_name>.jpg'
allow_stretch: True
....
Kivy.py(文件)
class main_display(BoxLayout):
def __init__(self, **kwargs):
super(main_display,self).__init__()
# Photo can be reference by running the photo function once:
Clock.schedule_once(self.photo)
def photo(self,dt):
# Replace the given image source value:
self.ids.imageView.source = 'kivy_test.jpg'
- 基本上,在 kivy.kv(文件)中,把你的图片文件名放在“Image”下的 source 属性里。
- 记得像上面那样设置一个时钟调度,这样你就可以修改你的照片。你甚至可以通过把时钟调度改成
Clock.schedule_interval(self.photo, 0.06)
来实现照片的动态循环。
我尝试直接在 kivy.py(文件)中赋值给 'source' 属性,但遇到了断言错误。
希望你喜欢,如果有不明白的地方请留言!
18
你可以查看一下这个链接上的图片文档,里面说明了图片的来源是由source
这个属性来控制的。所以你只需要改一行代码就能让它正常工作:
return Image(source='b1.png')