Search code examples
pythonbuttonkivykivy-languagekivymd

How do i create a button in another window by pressing a button kivy/kivymd/python


I am trying to create a button by pressing a button, but I cant find any information about it.


Solution

  • You can use this approach in kivy or kivyMD.

    from kivy.lang import Builder
    from kivymd.app import MDApp
    from kivymd.uix.button import MDRaisedButton
    from kivy.properties import ObjectProperty
    
    
    KV = '''
    
    ScreenManager:
        id: screen_manager
        
        Screen:
            id: screenID
            
            MDRaisedButton:
                text: "Create Button"
                pos_hint: {'center_x': .5, 'center_y': .5}
                on_release: app.createButton()
    '''
    
    class Example(MDApp):
        screen_manager = ObjectProperty() # IMPORTANT!
    
        def __init__(self, **kwargs):
            super().__init__(**kwargs)
            self.screen = Builder.load_string(KV)
    
        def build(self):
            return self.screen
    
        def createButton(self):
            print("button created")
            self.btn = MDRaisedButton(text= "New Button", pos_hint= {'center_x': .5, 'center_y': .7})
            self.root.ids.screenID.add_widget(self.btn)
    
    
    Example().run()