Access Widget Id from class

6 views
Skip to first unread message

Niklas Sommerer

unread,
Aug 6, 2024, 3:35:37 AM8/6/24
to KivyMD users support
Hello!
I would like to get the text from the textfield with the id "beschreibung".
Why do my print function in "save_addRevenue()" throw errors?
Thank you!

I have got following code:
main.py:
class MainScreen(Screen):
    pass
class RevenueScreen(Screen):
    def save_addRevenue(self):
        #print(self.app.root.ids.beschreibung.text)
        #print(self.manager.get_screen('revenue').ids.beschreibung.text)
        #print(self.root.ids.beschreibung.text)
        pass

class SaldoMaster(MDApp):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.screen = Builder.load_file('main.kv')

    def build(self):
        self.theme_cls.theme_style = "Light"
        self.theme_cls.primary_palette = "Blue"
        return self.screen



main.kv:
ScreenManager:
    MainScreen:
        ...

    RevenueScreen:
        name: 'revenue'
        MDBoxLayout:
            orientation: 'vertical'
            MDTopAppBar:
                title: "Hallo"
            MDBoxLayout:
                orientation: 'vertical'
                size_hint_y: 1
                spacing: 35
                padding: [50, 0, 50, 0]

                MDLabel:
                    text: 'Test'
                    font_size:20
                    underline: True
                    halign: 'center'
                    padding: 0,50,0,0
                    size_hint: (1, None)
                    height: dp(48)


                MDTextField:
                    id: beschreibung
                    mode: "round"
                    hint_text: "z.B. blablabla"
                    helper_text: "Beschreibung"
                    helper_text_mode: "persistent"
                    max_text_length: 30


                Widget:#Platzhalter
                    size_hint_y: 1

                MDRoundFlatButton:
                    text: "Speichern"
                    font_size: 18
                    pos_hint: {'center_x': 0.5}
                    size_hint: (1, None)
                    height: dp(64)
                    on_release: app.root.get_screen('revenue').save_addRevenue()

Reply all
Reply to author
Forward
0 new messages