Y
Y
y_o_l_k_i_n___e_g_o_r2021-04-09 20:25:22
Python
y_o_l_k_i_n___e_g_o_r, 2021-04-09 20:25:22

Python kivy error. What to do?

The code:

from kivymd.app import MDApp
from kivy.uix.screenmanager import ScreenManager, Screen
from kivymd.uix.button import MDTextButton
from kivymd.uix.label import MDLabel
from kivymd.uix.button import MDTextButton
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.theming import ThemeManager
from kivymd.uix.label import MDLabel
from kivymd.uix.textfield import MDTextField
# Declare both screens

class MenuScreen(Screen):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self.layout = MDBoxLayout(orientation='vertical', size_hint=(.4, .4), pos_hint={'center_x': 0.5,
                                                                                      'center_y': 0.5})
        self.layout.background_color = 'white'
        self.layout.spacing = 15
        self.layout.background_color = 'white'
        self.add_widget(self.layout)
        self.layout.add_widget(MDTextField(text='Давным давно...'))
        self.layout.add_widget(MDTextField(text='Здесь вводили пароль...'))

        self.button = MDTextButton(text='Завершить регистрацию', background_color='#6366F1', font_family='monospace')
        self.button.bind(on_press=self.change_screen)
        self.layout.add_widget(self.button)

    def change_screen(self, event):
        self.manager.transition.direction = 'up'
        self.manager.transition.duration = 0.5  # 3 seconds
        self.manager.current = 'settings'


class SettingsScreen(Screen):

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self.layout =  MDBoxLayout()
        self.add_widget(self.layout)

        self.label = MDLabel(text='Settings Screen')
        self.layout.add_widget(self.label)

        self.button = MDTextButton(text='Go!', size_hint=(.5, .5), pos=(20, 20))
        self.button.bind(on_press=self.change_screen)
        self.layout.add_widget(self.button)

    def change_screen(self, event):
        self.manager.current = 'menu'


# Create the screen manager

sm = ScreenManager()
sm.add_widget(MenuScreen(name='menu'))
sm.add_widget(SettingsScreen(name='settings'))


class TestApp(MDApp):
    thm = ThemeManager()
    ttl = 'Coppa app'
    def build(self):
        self.thm.theme_style = 'Dark'
        return sm


if __name__ == '__main__':
    TestApp().run()

Mistake:
ValueError: KivyMD: App object must be initialized before loading root widget.

Help.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
Dimonchik, 2021-04-09
@dimonchik2013

not here?
https://stackoverflow.com/questions/61683854/error...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question