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文件更改画布的源图片的主要内容,如果未能解决你的问题,请参考以下文章