Я хочу изменить текстовое свойство в виджете класса, который я создал, но эти виджеты были созданы из цикла, который я пытался получить, но не смог.Someboy может спасти меня ??
Вот код:
:
boxin = BoxLayout(orientation='vertical')
cont = BoxLayout(orientation='horizontal')
for x in compras:
boxin.add_widget(Line(text=x, id=compras.index(x)))
boxin.add_widget(tot)
cont.add_widget(finalizar)
cont.add_widget(cancelar)
boxin.add_widget(cont)
pop = Popup(title='Carrinho', content=boxin, size_hint=(None, None), size=(350, 500))
pop.open()
class Line(BoxLayout):
def __init__(self, text='', **kwargs):
super().__init__(**kwargs)
self.ids.label1.text = text
self.ids.label2.text = str(qtd[compras.index(text)])
self.ids.label3.text = "R$"+str(qtd[compras.index(text)]*value[compras.index(text)])
def remove(self):
self.ids.lin.ids.label2.ids['text'].text= "aaa"
Функция удаления будет кнопкой, которая изменит текст label2 данного экземпляракласса Line
Как мне его получить?
<Kv>
<Line>:
orientation: 'horizontal'
id: lin
Button:
id: menos
size_hint: None , None
pos_hint: {'center_x':0.47, 'center_y': 0.47}
width: 20
height: 20
on_press: root.remove()
Label:
id: label1 #descrição do item
font_size: 15
Label:
id: label2 #quantidade
font_size: 15
Label:
id: label3 #valor
font_size: 15
Button:
id: mais
size_hint: None, None
pos_hint: {'center_x':0.47, 'center_y': 0.47}
width: 20
height: 20