Kivy,从python文件更改画布的源图片

Posted

技术标签:

【中文标题】Kivy,从python文件更改画布的源图片【英文标题】:Kivy, changing source picture of canvas from python file 【发布时间】:2020-08-14 07:12:49 【问题描述】:

我正在制作一个天气应用程序,并且需要能够从 .py 文件更改 FloatLayout 的画布图片,因为选择图像需要大量代码。由于 size_hint 和 pos_hint,我选择了 FloatLayout 来容纳图像(不想在调整应用程序时手动更改参数)。

真正的问题是如何将 .kv 和 .py 文件之间的字符串传输到 canvas->rectangle->source 并让它更新以显示目录中的图像。

这是.kv 文件sn-p。下划线部分是字符串应该在的位置。

我正在尝试在包含所有代码的类中使用一个方法来更新图像。

有什么想法吗?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

尝试将 source 行替换为:

source: app.image_source

然后在您的App 中添加一行:

image_source = StringProperty('path/to/initial/image')

那么您应该可以只更新image_source 属性来更改图像。

【讨论】:

我不得不使用 root 而不是 app,但它做同样的事情。感谢您的帮助【参考方案2】:

设置source: root.some_property_name,然后在您的方法中将self.some_property_name 设置为您想要的文件路径。

还要在类中添加some_property_name = StringProperty()

【讨论】:

以上是关于Kivy,从python文件更改画布的源图片的主要内容,如果未能解决你的问题,请参考以下文章

Python Kivy - 更改标签颜色

如何从 python 文件中更改 kivy 标签的文本?

Kivy:用画布为图像制作动画的正确方法是啥?

如何从 kivy 小部件画布中删除特定说明?

画布上的 Kivy 插值

使用 kivy 模块运行 py 文件需要做啥