如何使用Kivy显示图片

16

我该如何在我的pwd中显示一张图片?

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个回答

18
您可以查看Image文档,了解图像源由source属性控制。因此,您应该能够更改只有一行代码来使其工作:
    return Image(source='b1.png')

4

对我来说,可接受的结果过于全面和简单。

我有一个更好的方法,可以使用.kv文件来实现:

  • 使用“ids”在特定的box_layout中设置您的照片
  • 您可以动态地更改您的照片

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'
  1. 把你的图片文件名放在kivy.kv文件中的"Image"下的源属性(source attribute)。
  2. 记得设置一个时钟调度(Clock schedule),然后您可以修改您的照片。您甚至可以通过将时钟调度器更改为 Clock.schedule_interval(self.photo, 0.06) 来添加一些照片循环(动态)。

我尝试直接从kivy.py (file)分配属性'source',但遇到断言错误(assertion error)。

享受它并请留下评论,如果您不清楚的话!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接