Во-первых, если вы собираетесь переключаться между Screens
, вам понадобится ScreenManager
.
Вот модифицированная версия вашего кода, которая работает:
from kivy.lang import Builder
from kivymd.app import MDApp
KV = '''
ScreenManager:
Screen:
MDLabel:
text: "Material Design"
font_style: "H3"
theme_text_color: "Secondary"
pos_hint: {"center_y": 0.9}
halign: "center"
MDRaisedButton:
text: "Start"
md_bg_color: 0, 0.26, 0.27, 1
pos_hint: {"center_x": 0.5, "center_y": 0.2}
on_press: root.current = "main"
MDRectangleFlatButton:
text: "Exit"
md_bg_color: rgba(197, 232, 204, 1)
text_color: 0, 0.26, 0.27, 1
pos_hint: {"center_x": 0.5, "center_y": 0.1}
Screen:
name: "main"
MDLabel:
text: "School guru"
font_style: "H3"
pos_hint: {"center_y": 0.8}
halign: "center"
'''
class MaterialDesign(MDApp):
def build(self):
return Builder.load_string(KV)
MaterialDesign().run()
Итак ScreenManager
становится root из App
, а его дочерние элементы - Screens
. Свойство on_press
для MDRaisedButton
теперь просто root.current = "main"
.