【发布时间】:2017-06-27 14:00:08
【问题描述】:
我想创建一个带有始终相同菜单栏的 Kivy-App。
我的代码:
demo.py:
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.boxlayout import BoxLayout
class Display(BoxLayout):
pass
class Screen_One(Screen):
pass
class Screen_Two(Screen):
pass
class DemoApp(App):
def build(self):
return Display()
if __name__ == '__main__':
DemoApp().run()
demo.kv:
<Display>:
BoxLayout:
orientation: "vertical"
BoxLayout:
size_hint: 1, None
height: '48dp'
Button:
text: 'One'
on_release: sm.current = 'Screen_One'
Button:
text: 'Two'
on_release: sm.current = 'Screen_Two'
ScreenManager:
id: sm
Screen_One:
Screen_Two:
<Screen_One>:
Button:
text: 'One'
<Screen_Two>:
Button:
text: 'Two'
但它不起作用,如果我点击我收到的“一个”:
kivy.uix.screenmanager.ScreenManagerException: 没有名称为“Screen_One”的屏幕。
我将我的代码简化为前导部分。我还尝试将 menu-kivy-code 放在单独的文件中并导入,但是我也无法访问 ScreenManager 并且无法切换屏幕。
【问题讨论】: