Answer the question
In order to leave comments, you need to log in
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()
ValueError: KivyMD: App object must be initialized before loading root widget.
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question