我想把屏幕从屏幕1切换到屏幕2,在屏幕1上的3秒后。
该程序编译,但它只停留在screen1上,我希望它在screen2上运行3秒后更改为Screen1。
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from kivy.uix.image import Image
from kivy.clock import Clock
class Screen1(Screen):
def callNext(self, dt):
self.manager.current = 'screen2'
class Screen2(Screen):
pass
kv = Builder.load_file('my.kv')
class MyApp(App):
def build(self):
return Screen1()
return kv
if __name__ == '__main__':
MyApp().run()kv文件:
#:import Clock kivy.clock.Clock
<Screen1>:
name: 'screen1'
on_enter:
Clock.schedule_once(self.callNext, 3)
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: 'logokivy.png'
<Screen2>:
name: 'screen2'
Button:
text: 'Hello'发布于 2019-08-19 20:28:01
您的代码不使用ScreenManager。将根小部件作为两个子屏幕的ScreenManager,看起来其他一切都应该很好,而且会正常工作。
发布于 2019-08-19 21:43:21
您应该能够使用import time并使用time.sleep()等待3秒,然后关闭它。
https://stackoverflow.com/questions/57563278
复制相似问题