如何从KV文件更改源图像

问题描述 投票:0回答:1

我想创建一个带有图像源的简单矩形小部件。当我运行它时,源图像当然会显示在屏幕上。但是,如果在 py 文件中我想用其他东西更改图像,例如从狗更改为猫。我不知道该怎么办。

<RectBlock>:
    canvas:
        Rectangle
            size: 65, 90
            pos: self.pos
            source: 'dog.png' 
<MyWidget>:


class RectBlock(Widget):
    def __init__(self, **kwargs):
      super(RectBlock, self).__init__(**kwargs)

class MyWidget(Widget): 
  def __init__(self, **kwargs):
      super(MyWidget, self).__init__(**kwargs)
  
  block = (RectBlock(pos=(140,150)))
  self.add_widget(block)

我认为这很简单:

block.source = Image('cat.png') 

没什么,还是显示狗的照片。

python kivy
1个回答
0
投票

需要使用外部kv文件吗?

import kivy
from kivy.app import App
from kivy.uix.image import Image
      
class MyApp(App):
    def build(self, **kwargs):
        return Image(source='Dog.png')
      
MyApp().run()
© www.soinside.com 2019 - 2024. All rights reserved.