爲了在屏幕之間切換,你只需要使用current
財產。基本上你必須告訴ScreenManager哪一個是當前屏幕,但首先你必須在它們上面寫上一個名字。這裏有一個例子:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
Builder.load_string("""
<Phone>:
AnchorLayout:
anchor_x: 'center'
anchor_y: 'top'
ScreenManager:
size_hint: 1, .9
id: _screen_manager
Screen:
name: 'screen1'
Label:
text: 'The first screen'
Screen:
name: 'screen2'
Label:
text: 'The second screen'
AnchorLayout:
anchor_x: 'center'
anchor_y: 'bottom'
BoxLayout:
orientation: 'horizontal'
size_hint: 1, .1
Button:
text: 'Go to Screen 1'
on_press: _screen_manager.current = 'screen1'
Button:
text: 'Go to Screen 2'
on_press: _screen_manager.current = 'screen2'""")
class Phone(FloatLayout):
pass
class TestApp(App):
def build(self):
return Phone()
if __name__ == '__main__':
TestApp().run()
線
on_press: _screen_manager.current = 'screen1'
會告訴屏管理,以更改名爲「屏蔽1」的屏幕,這個其他線路
name: 'screen1'
歡迎SO佩德羅。如果您發佈了一些您已經嘗試過的示例代碼,那麼您的問題更有可能得到答案。 – butch
我不明白JSON有什麼問題。我給你一個如何從'Screen' 1變成'Screen' 2的例子。2.也許你的問題是你使用的是其他的'Widget'而不是'Widget'。 ScreenManager只接受'Screen'小部件。 –