Ir para conteúdo
Fórum Script Brasil

phvbrito

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por phvbrito

  1. Boa tarde, pessoal vejam se alguém pode me dar uma força, já tentei de um tudo e não consego descobrir o que estou fazendo de errado, não consigo fazer os itens serem exibidos. este codigo sera modificado depois para exibir os itens finais, segue...

     

    #TelaConsultaPro.py
    
    from kivymd.uix.screen import MDScreen
    from kivy.uix.screenmanager import SlideTransition
    from kivymd.uix.expansionpanel import MDExpansionPanel, MDExpansionPanelThreeLine
    from kivy.uix.boxlayout import BoxLayout
    from kivy.uix.label import Label
    from kivy.uix.button import Button
    
    class TelaConsultaPro(MDScreen):
        
        def transicao_tela(self, tela):
            self.manager.transition = SlideTransition(direction="right")
            self.manager.current = tela
    
        def on_start(self):
        
            for i in range(10):
                panel = MDExpansionPanel(text="Painel " + str(i))
                content = BoxLayout(orientation="vertical")
                content.add_widget(Label(text="Conteúdo do painel " + str(i)))
                content.add_widget(Button(text="Botão " + str(i)))
                panel.content = content
                self.ids.box.add_widget(panel)
    #TelaConsultaPro.kv
    
    <TelaConsultaPro>:
        MDBoxLayout:
            orientation: 'vertical'
    
            MDTopAppBar:
                title: "Cadastro"
                left_action_items: [["menu", lambda x: app.callback()]]
                right_action_items: [["arrow-left", lambda x: root.transicao_tela("TelaPrincipal")]]
                elevation: 10
                md_bg_color: "#000000"
                specific_text_color: "white"
    
            MDScrollView:
                MDGridLayout:
                    id: box
                    cols: 1
                    adaptive_height: True               
                   
            MDTopAppBar:
                type: "bottom"
                mode: "free-end"
                elevation: 10
                md_bg_color: "#000000"

     

  2. Não consigo fazer esse menu DropDown funcionar de jeito algum, alguém poderia me ajudar mostrando o que fiz de errado?

    este é o meu .py

    #controle.py
    
    
    from kivy.lang import Builder
    from kivymd.app import MDApp
    from kivymd.uix.boxlayout import MDBoxLayout
    from kivy.uix.screenmanager import ScreenManager, Screen
    from kivymd.uix.menu import MDDropdownMenu
    
    from kivy.metrics import dp
    from kivy.properties import StringProperty
    from kivymd.uix.list import OneLineIconListItem
    
    
    class IconListItem(OneLineIconListItem):
        icon = StringProperty()
    
        
    class MainTela(ScreenManager):
        pass
    
    
    class TelaLogin(Screen):
        pass
    
    
    class TelaMenu(Screen):
        pass
    
    
    class TelaConsulta(Screen):  
        def popup(self):
            
            menu_items = [
                {
                    "viewclass": "IconListItem",
                    "icon": "git",
                    "text": f"Item {i}",
                    "height": dp(56),
                    "on_release": lambda x=f"Item {i}": self.set_item(x),
                } for i in range(5)
            ]
            
            self.menu = MDDropdownMenu(
                caller=self.TelaConsulta.ids.drop_item,
                items=menu_items,
                position="center",
                width_mult=4,
            )
    
            menu_items = [
                {
                    "viewclass": "IconListItem",
                    "icon": "git",
                    "text": f"Item {i}",
                    "height": dp(56),
                    "on_release": lambda x=f"Item {i}": self.set_item(x),
                } for i in range(5)
            ]
    
            self.menu.bind()
            
        def set_item(self, text_item):
            self.TelaConsulta.ids.drop_item.set_item(text_item)
            self.menu.dismiss()
    
        def build(self):
            return self.TelaConsulta
    
    
           
    class TelaCadastro(Screen):
        pass
    
    
    class Controle(MDApp):
        pass
        
    
    if __name__ == '__main__':
        
        Controle().run()

    este é o meu .kv

    #controle.kv
    MainTela:
    
        TelaLogin:
        TelaMenu:
        TelaConsulta:
           
        TelaCadastro:
            name:'TelaCadastro'
        
    <TelaLogin@FloatLayout>:
        name: 'TelaLogin'
    
        Image:
            source: "logo.png"
            allow_stretch: True
            size_hint: 0.3, 0.3
            pos_hint: {"center_x": 0.5, "center_y": 0.8}
        
        MDTextField:
            pos_hint: {"center_x": 0.5, "center_y": 0.6}
            size_hint_x: 0.5
            hint_text:"Digite o usuário"
            
        MDTextField:
            pos_hint: {"center_x": 0.5, "center_y": 0.5}
            size_hint_x: 0.5
            hint_text:"Digite a senha"
            password: True
    
        MDRoundFlatButton:
            pos_hint: {"center_x": 0.5, "center_y": 0.4}
            size_hint_x: 0.5
            text:"Confirmar"
            text_color:"gray"
            on_release: app.root.current = 'TelaMenu'
    
        MDLabel:
            text: "By Phvbrito"
            pos_hint: {"center_x": 0.9, "center_y": 0.05}
    
    
    <TelaMenu@FloatLayout>:
        name:'TelaMenu'
    
        MDTopAppBar:
            title: 'Controle'
            pos_hint: {'center_x': 0.5, 'center_y': 0.9}
            left_action_items: [['menu', lambda x: app.stop()]]
            right_action_items: [['logout', lambda x: app.stop()]]
    
        MDRaisedButton:
            font_size: 25
            text: "Consulta"
            md_bg_color: "red"
            size_hint: (.3, .3)
            pos_hint: {"center_x": 0.3, "center_y": 0.6}
            on_release: app.root.current = 'TelaConsulta'
            
        MDRaisedButton:
            font_size: 25
            text: "Cadastro"
            md_bg_color: "red"
            size_hint: (.3, .3)
            pos_hint: {"center_x": 0.7, "center_y": 0.6}
            on_release: app.root.current = 'TelaCadastro'
        
        MDRaisedButton:
            font_size: 25
            text: "Sair"
            md_bg_color: "red"
            size_hint: (.3, .3)
            pos_hint: {"center_x": 0.5, "center_y": 0.2}
            on_release: app.stop()
    
    <TelaCadastro@FloatLayout>:
        name:'TelaCadastro'
       
        MDTopAppBar:
            title: 'Cadastro'
            pos_hint: {'center_x': 0.5, 'center_y': 0.9}
            left_action_items: [['menu', lambda x: app.stop()]]
            right_action_items: [['logout', lambda x: app.stop()]]
        
        MDTopAppBar:
            pos_hint: {'center_x': 0.5, 'center_y': 0.05}
            left_action_items: [['arrow-left', lambda x: setattr(root.manager, 'current', 'TelaMenu')]]
        
        MDRaisedButton:
            font_size: 25
            text: "Piso"
            md_bg_color: "red"
            size_hint: (.3, .3)
            pos_hint: {"center_x": 0.3, "center_y": 0.65 }
    
        MDRaisedButton:
            font_size: 25
            text: "Vinilico"
            md_bg_color: "red"
            size_hint: (.3, .3)
            pos_hint: {"center_x": 0.7, "center_y": 0.65 }
    
        MDRaisedButton:
            font_size: 25
            text: "Rejuntes"
            md_bg_color: "red"
            size_hint: (.3, .3)
            pos_hint: {"center_x": 0.3, "center_y": 0.3 }
    
        MDRaisedButton:
            font_size: 25
            text: "Rodapé"
            md_bg_color: "red"
            size_hint: (.3, .3)
            pos_hint: {"center_x": 0.7, "center_y": 0.3 }
    
    <TelaConsulta@FloatLayout>
        name: 'TelaConsulta'
        
        MDTopAppBar:
            title: 'Controle'
            pos_hint: {'center_x': 0.5, 'center_y': 0.9}
            left_action_items: [['menu', lambda x: app.stop()]]
            right_action_items: [['logout', lambda x: app.stop()]]
    
        MDScreen:
            MDDropDownItem:
                id: drop_item
                pos_hint: {'center_x': .5, 'center_y': .5}
                text: 'Item 0'
                on_release: app.menu.open()
    
    <IconListItem>
        IconLeftWidget:
            icon: root.icon
    
        
    
    
    
    
    

     

×
×
  • Criar Novo...