我正在尝试通过以下代码使用kivymd:
from kivy.app import App
from kivymd.theming import ThemeManager
from kivymd.navigationdrawer import MDNavigationDrawer
from kivymd.navigationdrawer import NavigationLayout
from kivymd.card import MDSeparator
class MyApp(App):
theme_cls=ThemeManager()
if __name__ == "__main__":
m = MyApp()
m.run()
但我收到此错误:
from kivymd.navigationdrawer import MDNavigationDrawer
ModuleNotFoundError: No module named 'kivymd.navigationdrawer'
>>>
这是我的kv文件:
#:import NavigationLayout kivymd.navigationdrawer.NavigationLayout
#:import MDSeparator kivymd.card
NavigationLayout:
MDNavigationDrawer:
<Button>:
text: "Hey"
有人可以帮我吗?
答案 0 :(得分:1)
解释-请阅读:
您正在使用为KivyMD的较早版本制作的一些代码。在新版本中,大多数窗口小部件已移至kivymd.uix
文件夹中,因此您可以将#:import NavigationLayout kivymd.navigationdrawer.NavigationLayout
更改为#:import NavigationLayout kivymd.uix.navigationdrawer.NavigationLayout
(其他所有窗口小部件均与此类似。但是,所有KivyMD小部件会在只要您在kv
文件中包含from kivymd.app import MDApp
,就可以main.py
个文件。(在Python中,您仍然需要编写from kivymd.uix.navigationdrawer import MDNavigationDrawer
,或者需要访问Python中的类)。
解决方案:
main.py
:
from kivymd.app import MDApp
class MyApp(MDApp):
pass
if __name__ == "__main__":
m = MyApp()
m.run()
my.kv
:
NavigationLayout:
MDNavigationDrawer:
Button:
text: "Hey"