Probando kivy y kivymd #3














main.py
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen

from kivymd.theming import ThemeManager


class Pantalla_Inicio(Screen):
    pass
class Pantalla_Ajustes(Screen):
    pass



class MainApp(App):
    theme_cls = ThemeManager()
    theme_cls.primary_palette = 'Blue'
    theme_cls.theme_style = 'Dark'
    title = "NOMBRE DE LA APP"
    main_widget = None

    def build(self):
        return Builder.load_file("main.kv")

    def Cambiar_Pantalla(self, Nombre_Pantalla):
        Manejador_De_Pantallas = self.root.ids['Manejador_De_Pantallas']
        Manejador_De_Pantallas.current = Nombre_Pantalla
        #Manejador_De_Pantallas.Transition

MainApp().run()






main.kv
#: include kv/Pantalla_Inicio.kv
#: include kv/Pantalla_Ajustes.kv

#:import NoTransition kivy.uix.screenmanager.NoTransition

GridLayout:
    cols: 1
    ScreenManager:
        id: Manejador_De_Pantallas
        transition: NoTransition()
        Pantalla_Inicio:
            name: "Pantalla_De_Inicio"
            id: Pantalla_De_Inicio
        Pantalla_Ajustes:
            name: "Pantalla_De_Ajustes"
            id: Pantalla_De_Ajustes




Pantalla_Inicio.kv
#:import MDToolbar kivymd.uix.toolbar.MDToolbar
#:import MDIconButton kivymd.uix.button.MDIconButton
#:import MDFloatingActionButton kivymd.uix.button.MDFloatingActionButton
#:import MDFlatButton kivymd.uix.button.MDFlatButton
#:import MDRaisedButton kivymd.uix.button.MDRaisedButton
#:import MDRectangleFlatButton kivymd.uix.button.MDRectangleFlatButton
#:import MDRoundFlatButton kivymd.uix.button.MDRoundFlatButton
#:import MDRoundFlatIconButton kivymd.uix.button.MDRoundFlatIconButton
#:import MDFillRoundFlatButton kivymd.uix.button.MDFillRoundFlatButton
#:import MDTextButton kivymd.uix.button.MDTextButton

#:import MDSeparator kivymd.uix.card.MDSeparator
##:import NavigationLayout kivymd.uix.navigationdrawer.NavigationLayout
#:import MDNavigationDrawer kivymd.uix.navigationdrawer.MDNavigationDrawer
#:import NavigationDrawerSubheader kivymd.uix.navigationdrawer.NavigationDrawerSubheader

<Pantalla_Inicio>
 NavigationLayout:
     id: nav_layout
     height: root.height
     width: root.width
     size_hint: 1, 1
     MDNavigationDrawer:
         id: nav_drawer
         NavigationDrawerToolbar:
             title: 'Methods'
         NavigationDrawerIconButton:
             icon: 'checkbox-blank-circle'
             text: 'ELEMENTO 1'
             on_release: app.root.ids.scr_mngr.current = 'PANTALLA 1'
         NavigationDrawerIconButton:
             icon: 'checkbox-blank-circle'
             text: 'ELEMENTO 2'
             on_release: app.root.ids.scr_mngr.current = 'PANTALLA 2'
         NavigationDrawerIconButton:
             icon: 'checkbox-blank-circle'
             text: 'AJUSTES'
             on_release: app.Cambiar_Pantalla("Pantalla_De_Ajustes")
         NavigationDrawerIconButton:
             icon: 'checkbox-blank-circle'
             text: 'ELEMENTO 2'
             on_release: app.root.ids.scr_mngr.current = 'PANTALLA 2'
     #REJILLA DE TITULO
     BoxLayout:
         orientation: 'vertical'
         MDToolbar:
             id: toolbar
             title: app.title
             #title: 'TITULO DEL PANEL'
             md_bg_color: app.theme_cls.primary_color
             background_palette: 'Primary'
             background_hue: '500'
             left_action_items: [['menu', lambda x: nav_layout.toggle_nav_drawer()]]


         # PANIGA INICIAL DENTRO DEL PANEL DE ARRIBA
         Screen:
             BoxLayout:
                 size_hint_y: None
                 height: '56'
                 spacing: '10dp'
                 pos_hint: {'center_y': .9}

                 Widget:
                 #aqui van otro elementos como los iconos


    MDFlatButton:
     text: 'BOTON PARA IR A AJUSTES'
     pos_hint: {'center_x': .5, 'center_y': .75}
     on_release: app.Cambiar_Pantalla("Pantalla_De_Ajustes")






Pantalla_Ajustes.kv
#:import MDToolbar kivymd.uix.toolbar.MDToolbar
#:import MDIconButton kivymd.uix.button.MDIconButton
#:import MDFloatingActionButton kivymd.uix.button.MDFloatingActionButton
#:import MDFlatButton kivymd.uix.button.MDFlatButton
#:import MDRaisedButton kivymd.uix.button.MDRaisedButton
#:import MDRectangleFlatButton kivymd.uix.button.MDRectangleFlatButton
#:import MDRoundFlatButton kivymd.uix.button.MDRoundFlatButton
#:import MDRoundFlatIconButton kivymd.uix.button.MDRoundFlatIconButton
#:import MDFillRoundFlatButton kivymd.uix.button.MDFillRoundFlatButton
#:import MDTextButton kivymd.uix.button.MDTextButton

#:import MDSeparator kivymd.uix.card.MDSeparator
##:import NavigationLayout kivymd.uix.navigationdrawer.NavigationLayout
#:import MDNavigationDrawer kivymd.uix.navigationdrawer.MDNavigationDrawer
#:import NavigationDrawerSubheader kivymd.uix.navigationdrawer.NavigationDrawerSubheader

<Pantalla_Ajustes>
 NavigationLayout:
     id: nav_layout
     height: root.height
     width: root.width
     size_hint: 1, 1
     MDNavigationDrawer:
         id: nav_drawer
         NavigationDrawerToolbar:
             title: 'Methods'
         NavigationDrawerIconButton:
             icon: 'checkbox-blank-circle'
             text: 'INICIO'
             on_release: app.Cambiar_Pantalla("Pantalla_De_Inicio")
         NavigationDrawerIconButton:
             icon: 'checkbox-blank-circle'
             text: 'ELEMENTO 2'
             on_release: app.root.ids.scr_mngr.current = 'PANTALLA 2'
     #REJILLA DE TITULO
     BoxLayout:
         orientation: 'vertical'
         MDToolbar:
             id: toolbar
             #title: app.title
             title: 'PANTALLA AJUSTES'
             md_bg_color: app.theme_cls.primary_color
             background_palette: 'Primary'
             background_hue: '500'
             left_action_items: [['menu', lambda x: nav_layout.toggle_nav_drawer()]]


         # PANIGA INICIAL DENTRO DEL PANEL DE ARRIBA
         Screen:
             BoxLayout:
                 size_hint_y: None
                 height: '56'
                 spacing: '10dp'
                 pos_hint: {'center_y': .9}

                 Widget:
                 #aqui van otro elementos como los iconos



    MDRectangleFlatButton:
     text: 'BOTON PARA IR A INICIO'
     pos_hint: {'center_x': .5, 'center_y': .75}
     on_release: app.Cambiar_Pantalla("Pantalla_De_Inicio")








Comentarios

Entradas populares de este blog

Ejemplos de interfaces gráficas realizadas con Python y PyQT5

Kivy - aún más fácil, más nativo

PyQT5 – Python Tutorial