我想在我创建的类的窗口小部件中更改文本属性,但是此窗口小部件是从循环创建的 我试图访问ID,但无法访问。 某个男孩可以救我吗?
代码如下:
:
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"
remove函数将是用于更改Line类给定实例的label2文本的按钮
我如何得到它?
<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