Ir para conteúdo
Fórum Script Brasil
  • 0

problemas com MDGridlayout dinamico


Kleverson Cuzzuol Lopes

Pergunta

Olá, desejo que estejam bem.

Sou novato em desenvolvimento com python e kivymd.
quando executo meu App estou recebendo um erro quando tento adicionar um widget em um MDGridLayout

Minha intenção é criar todo layout de tela no .kv  e apenas indicar o que quero preencher no .py (espero que dê para entender o que quero fazer)

msg de Erro:

GradeComandas.add_widget(GLComandasAbertas(comanda))
 TypeError: add_widget() missing 1 required positional argument: 'widget'

.kv

<GradeComandas>:
    MDGridLayout:
        cols: 3
        row_force_default: True
        row_default_height: 100
        padding: 4

<scrComandas>:
    MDBoxLayout:
        MDToolbar:
            title: 'Comandas em Aberto'
            pos_hint: {'top': 1}
            elevation: 10
            icon: 'git'
            type: 'top'
            left_action_items: [['menu', lambda x: root.callback()]]
            right_action_items: [['plus', lambda x: root.callback()],["dots-vertical", lambda x: app.callback_1()]]
            #on_action_button: app.callback(self.icon)
            mode: 'center'
    MDBoxLayout:
        GradeComandas:

.py

class scrComandas(MDScreen):
    def __init__(self, **kwargs):
        super(scrComandas, self).__init__(**kwargs)
        dados = [
                ['0001','Antony Stark   ','R$ 25,50'],
                ['0002','Steve Roger    ','R$ 15,50'],
                ['0003','Natasha Romanov','R$ 15,50'],
                ['0004','Bruce Banner   ','R$ 12,50'],
                ['0005','Scot Lang      ','R$  0,50']
        ]
        for comanda in dados:
            GradeComandas.add_widget(GLComandasAbertas(comanda))

        self.add_widget(GradeComandas)


class GradeComandas(MDGridLayout):
    def __init__(self, **kwargs):
        super(GradeComandas, self).__init__(**kwargs)


class GLComandasAbertas(MDGridLayout):
    def __init__(self, comanda):
        super().__init__()

        self.rows = 1
        self.row_force_default = True
        self.row_default_height = 75
        self.add_widget(MDRectangleFlatButton(text=comanda[0]+'\n'+comanda[1]+'\n'+comanda[2], on_press=self.onClique))

  def onClique(self, instance):
        pass

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...