我正在尝试添加新的连接屏幕。我正在使用屏幕管理器。 我还更新了kv文件。我可以在一个屏幕上运行该应用,当我添加新屏幕时,出现以下错误:
raise FactoryException('Unknown class <%s>' % name)
kivy.factory.FactoryException: Unknown class <ConnectScreen>
现在我的firstapp.kv如下:
...
#:import AboutScreen screens
#:import ContactScreen screens
NavigationLayout:
id: nav_layout
MDNavigationDrawer:
id: nav_drawer
NavigationDrawerToolbar:
title: 'Menu'
NavigationDrawerIconButton:
icon: 'arrow-right-drop-circle'
text: 'About Us'
on_release: app.root.ids.scr_mngr.current = 'about'
NavigationDrawerIconButton:
icon: 'arrow-right-drop-circle'
text: 'Connect Us'
on_release: app.root.ids.scr_mngr.current = 'connect'
BoxLayout:
orientation: 'vertical'
Toolbar:
id: toolbar
title: 'Main Dashboard'
md_bg_color: app.theme_cls.primary_color
background_palette: 'Primary'
background_hue: '500'
left_action_items: [['menu', lambda x: app.root.toggle_nav_drawer()]]
ScreenManager:
id: scr_mngr
AboutScreen:
ConnectScreen:
现在我也更新了Builder.load.string 我的 connect.py 如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen
Builder.load.string("""
<AboutScreen>
name: 'connect'
ScrollView:
id: scroll
do_scroll_x: False
BoxLayout:
orientation: 'vertical'
size_hint_y: None
height: dp(800)
padding: dp(15)
spacing: dp(15)
Image:
source: './img/connect.jpeg'
allow_stretch: True
""")
class ConnectScreen(Screen):
pass
我该如何解决?
答案 0 :(得分:0)
发现了问题。
我的 __ init __。py (在screens文件夹中)未更新。
更新我的 __ init __。py 后,它开始工作。
from .contact import ContactScreen