你如何在KIVY中从python文件更改屏幕

时间:2016-11-23 15:45:51

标签: python screen kivy

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

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

请帮忙!

1 个答案:

答案 0 :(得分:0)

这是一个如何从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代码