我想创建一个带有图像源的简单矩形小部件。当我运行它时,源图像当然会显示在屏幕上。但是,如果在 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')
没什么,还是显示狗的照片。
需要使用外部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()