我想在屏幕1停留3秒后将屏幕从屏幕1切换到屏幕2。
程序可以编译,但它只停留在Screen1上,我希望它在进入screen1后3秒钟后更改为screen2。
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'
答案 0 :(得分:0)
您的代码未使用ScreenManager。将根窗口小部件设置为具有两个屏幕作为子屏幕的ScreenManager,看起来其他所有东西都应该可以正常工作。
答案 1 :(得分:0)
您应该能够flutter doctor
并使用C:\flutter>flutter doctor -v
[√] Flutter (Channel stable, v1.7.8+hotfix.4, on Microsoft Windows [Version 10.0.10240], locale en-US)
• Flutter version 1.7.8+hotfix.4 at C:\flutter
• Framework revision 20e59316b8 (5 weeks ago), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0
[X] Android toolchain - develop for Android devices
X ANDROID_HOME = C:\tools
but Android SDK not found at this location.
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/setup/#android-setup for detailed instructions).
[√] VS Code (version 1.37.1)
• VS Code at C:\Users\Cliff\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.3.0
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
C:\flutter>
等待3秒钟,然后将其关闭。