【发布时间】:2021-07-22 00:18:11
【问题描述】:
我正在修改 KivyMD 中的多个屏幕,但我遇到了这个问题:
ValueError: KivyMD: App object must be initialized before loading root widget
问题是它只有在我尝试使用 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"
【问题讨论】: