@y_o_l_k_i_n___e_g_o_r

Python kivy error. Что делать?

Код:
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()

Ошибка:
ValueError: KivyMD: App object must be initialized before loading root widget.

Помогите.
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
совет, который уже дан - ничего не стоит
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы