gpt4 book ai didi

python - 如何在 Kivy + Python 上重新加载图像

转载 作者:太空宇宙 更新时间:2023-11-03 21:33:28 25 4
gpt4 key购买 nike

我正在使用 kivy + phyton 为 IOS 和 Androdi 开发数字目录,但我不知道如何为这种情况重新加载图像。

在 main.py 上

class Pgrid(Screen):
_ImagenFavorito = str

def get_ImgFavorito(self, arg):
img = arg
for i in range(len(Heart_Array)):
if Heart_Array[i][0] == img and Heart_Array[i][1] == 0:
return 'data/icons/black/heart_empty_icon&16.png'
else:
if Heart_Array[i][0] == img and Heart_Array[i][1] == 1:
return 'data/icons/black/heart_icon&16.png'

def update_corazon(self, picid):
#lg = picid
for i in range(len(Heart_Array)):
if Heart_Array[i][0] == picid:
Heart_Array[i][1] = 1
return 'data/icons/black/heart_icon&16.png'
pass

.kv 文件

<Pgrid>:
BoxLayout:
orientation: 'vertical'
canvas.before:
Color:
rgb: .9, .9, .9
Rectangle:
size: self.size
source: 'data/background_lite.png'
BoxLayout:
GridLayout:
rows: 3
colds: 4
spacing: 10
padding: 10, 10

#GRID 1.1
GridLayout:
rows: 2
clods: 1
Image:
id: pic11
source: 'data/products/camabe.jpg'
BoxLayout:
size_hint:1, 0.1
canvas.before:
Color:
rgba: 0, 0, 0, 0
Rectangle:
size: self.size
pos: self.pos
ImageButton:
id: 11
source: root.get_ImgFavorito(11)
#size_hint: .2, .2
pos_hint: {'center_y': 0.50, 'center_x': 0.50}
on_press: root.update_corazon(11)

当我运行并单击 ImageButton 时,调用 roo.update_corazon(11) 并更新 Heart_Array,但我不知道如何重新加载此 ImageButton 的源。

有什么想法吗?提前致谢

<小时/>

在我的 .py 上我更改为:

 def update_corazon(self, picid):
for i in range(len(Heart_Array)):
if Heart_Array[i][0] == picid:
Heart_Array[i][1] = 1
self.manager.current = 'pgrid'

现在我认为 self.manager.current = 'pgrid' 将重新加载 Pgrid 屏幕,但不会重新加载屏幕:(

最佳答案

最后我改变了很多像这样的事情,现在所有的工作:

self.remove_widget(Pgrid(name='pgrid')) 
self.add_widget(Pgrid(name='pgrid'))

仅在 .kv 上 -> on_press: root.update_corazon(xx)

关于python - 如何在 Kivy + Python 上重新加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53389802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com