在加载根小部件问题之前初始化 KivyMD App 对象

Initializing KivyMD App object before loading root widget problem

我正在 KivyMD 中修改多个屏幕,但我遇到了这个问题:

ValueError: KivyMD: 在加载根小部件之前必须初始化 App 对象

问题是它只在我尝试使用如下代码中的 KivyMD 小部件时弹出。但是,如果我将那些 KivyMD 小部件更改为原始 kivy 库附带的小部件(比如用 Label 替换 MDLabel),它似乎可以毫无问题地执行。

显然我好像漏掉了什么,但我不知道是什么。所以我会感谢你的任何帮助。

感谢您的关注

python 文件:

import kivy
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen

class MainScreen(Screen):
    pass

class DateScreen(Screen):
    pass

class ActivityScreen(Screen):
    pass

class Manager(ScreenManager):
    pass

kv = Builder.load_file("layout2.kv")

class MainApp(MDApp):
    def build(self):
        self.theme_cls.theme_style = "Dark"
        return kv

if __name__ == "__main__":
    MainApp().run()

kivy 文件:

Manager:
    MainScreen:
    DateScreen:
    ActivityScreen:

<MainScreen>:
    name: "main_screen"
    RelativeLayout:
        MDLabel:
            title: "Testing"

只需移动行:

kv = Builder.load_file("layout2.kv")

build() 方法中,像这样:

class MainApp(MDApp):
    def build(self):
        self.theme_cls.theme_style = "Dark"
        kv = Builder.load_file("layout2.kv")
        return kv