Из созданного класса я добавляю виджеты созданного мною класса, до тех пор, пока все в порядке, но сделать обратное мне довольно сложно, потому что мне нужно удалить их, когда определенная переменная (qtd) достигает 0, и остатьсядинамический, должен быть удален в классе, который был создан. Я думаю, что это немного запутывает, но с кодом это становится проще
[main.py]
class Carrinho(BoxLayout):
def click1(self):
global compras, x, total
total = 0
compras = []
boxin = Carrinho(orientation='vertical')
cont = BoxLayout(orientation='horizontal')
finalizar = Button(text="Finalizar Compra", size_hint=(None, None), width=150, height=50,
pos_hint={'x': .0, 'y': .0})
cancelar = Button(text="Cancelar", size_hint=(None, None), width=150, height=50, pos_hint={'x': .0, 'y': 0})
for x in compras:
boxin.add_widget(Linha(text=x, id=x))
total += qtd[compras.index(x)] * value[compras.index(x)]
tot = Label(text="Total: R$" + str(total))
boxin.add_widget(tot)
cont.add_widget(finalizar)
cont.add_widget(cancelar)
boxin.add_widget(cont)
# finalizar.on_press=self.click_fim
pop = Popup(title='Carrinho', content=boxin, size_hint=(None, None), size=(350, 500))
pop.open()
class Linha(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 click_menos(self):
qtd[compras.index(x)] -= 1
self.ids.label2.text = str(qtd[compras.index(x)])
self.ids.label3.text = "R$" + str(qtd[compras.index(x)] * value[compras.index(x)])
if qtd[compras.index(x)]<=0:
##self.parent.ids.boxinha.remove_widget(Linha)
|##
It's this function above that I'm stuck, days kkkk
Can someone save me? --- searching in google i got self.parent and i think i am closing, but its wrong yet....
[. KV]
<Carrinho>:
id:boxinha
<Linha>:
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.click_menos()
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
on_press: root.click_mais()