python - 在 kivy 中一起使用底部导航栏和屏幕管理器
问题描述
我会在 kivy 中为我的应用程序使用底部导航栏。不幸的是我做不到。你能帮我吗?
该应用程序仅向我显示名为“PresenzeScreen”的屏幕,但我也会看到底部导航栏。谢谢!
# Here I declare the classes of the screens
class Manager(ScreenManager):
presenze = ObjectProperty(None)
class PresenzeScreen(Screen):
def switch(self):
self.parent.current = 'presenze'
sm = Manager()
sm.add_widget(PresenzeScreen( name ='presenze'))
# Here I write the bottom navigation bar
KV = """
Screen:
MDBottomNavigation:
panel_color: .2, .2, .2, 1
MDBottomNavigationItem:
name: 'screen 1'
text: 'Presenze'
on_enter: root.switch()
MDBottomNavigationItem:
name: 'screen 2'
text: 'Test'
MDLabel:
text: 'Qua ci sono i test'
halign: 'center'
MDBottomNavigationItem:
name: 'screen 3'
text: 'Orari'
MDLabel:
text: 'Qua ci sono gli orari degli allenamenti'
halign: 'center'
# And here the screen manager
<PresenzeScreen>:
MDLabel:
text: 'Ci sei riuscito finalmente'
haling: 'center'
<Manager>:
id: screen_manager
presenze: presenze
PresenzeScreen:
id: presenze
name: 'presenze'
manager: screen_manager
"""
class MainApp(MDApp):
dialog = None
def build(self):
Builder.load_string(KV)
return Manager()
MainApp().run()
解决方案
您需要像这样编辑您的 .kv 文件:
KV = """
<PresenzeScreen>:
MDBottomNavigation:
panel_color: .2, .2, .2, 1
MDBottomNavigationItem:
name: 'screen 1'
text: 'Presenze'
on_enter: root.switch()
MDLabel:
text: 'Ci sei riuscito finalmente'
haling: 'center'
MDBottomNavigationItem:
name: 'screen 2'
text: 'Test'
MDLabel:
text: 'Qua ci sono i test'
halign: 'center'
MDBottomNavigationItem:
name: 'screen 3'
text: 'Orari'
MDLabel:
text: 'Qua ci sono gli orari degli allenamenti'
halign: 'center'
<Manager>:
id: screen_manager
presenze: presenze
PresenzeScreen:
id: presenze
name: 'presenze'
manager: screen_manager
"""
推荐阅读
- java - java javax.net.ssl.SSLHandshakeException:不存在主题替代名称
- python - 从 Pandas 中删除列中的重复信息
- c++ - 使用 bsearch() 获取多个 key 实例
- c++ - 是否可以使用不同的枚举类型作为非类型模板参数
- django - 基于模型数据作为初始数据的选择填充 django 表单
- posix - 发生 ctrl+c 时如何优雅地退出 D 程序?
- macos - 如何在 OSX 的 Sublime Text 3 中打开包含文件的文件夹?
- django - Django 调试工具栏 - java 错误找不到 djdt
- c# - UWP 中的静默打印跟进
- sql - 在本地临时表中创建随机数