【问题标题】:how do you change screens from python file in KIVY你如何从 KIVY 中的 python 文件更改屏幕
【发布时间】:2016-11-23 15:45:50
【问题描述】:

互联网上的所有教程都展示了如何使用 ScreenManager 并从 .kv 文件更改不同的屏幕。 我还在学习,我无法从 .py 文件中控制它。

我希望我的应用在开始之前先执行一些验证。因此,我希望 Kivy 应用程序从一个简单的“请稍候”屏幕开始,然后转到主屏幕。

请帮忙!

【问题讨论】:

    标签: python screen kivy


    【解决方案1】:

    这是一个简短的例子,说明如何从 python 代码更改屏幕

    from kivy.app import App
    from kivy.uix.screenmanager import ScreenManager, Screen
    from kivy.lang import Builder
    
    
    Builder.load_string("""
    <Screen1>:
        name: 'screen1'
        Button:
            on_press: root.on_click()
    
    <Screen2>:
        name: 'screen2'
        Label:
            text: "Cool!"
    
    <MyScreenManager>:
        Screen1:
        Screen2:
    """)
    
    class Screen1(Screen):
    
        def on_click(self):
            sm.current = 'screen2'
    
    class Screen2(Screen):
        pass
    
    
    class MyScreenManager(ScreenManager):
        pass
    
    
    class SimpleApp(App):
        def build(self):
            global sm
            sm = MyScreenManager()
            return sm
    
    SimpleApp().run()
    

    我已使用按钮 on_press 事件来调用 python 代码,但您可以在另一个线程中运行验证,完成后您可以使用 Clock api 回调 kivy 代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 2016-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      相关资源
      最近更新 更多