在加载根小部件问题之前初始化 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
我正在 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