问题是屏幕管理器,我有两个屏幕,即加载屏幕和菜单屏幕。 在开始时,我首先加载加载屏幕,3秒钟后我切换到菜单屏幕,这有助于时钟计划。 在菜单屏幕上,我有一个按钮,当按下它时,我们会回到加载屏幕。在
现在我想在加载屏幕激活3秒后返回菜单屏幕。。有人能提出最好的方法吗。下面是一个代码,它解释了我拥有什么和我需要什么:
我知道改变下面的代码时钟时间表间隔(self.callNext,3)在LoadingScreen类中可以完成这项工作,但我正在寻找一个更好的选项,它更有效
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen,FallOutTransition
from kivy.properties import ObjectProperty,NumericProperty
from kivy.uix.image import Image
from kivy.graphics import Color
from kivy.clock import Clock
gui_v3 = '''
<PlayScreen>:
play_Button: playButton
canvas.before:
Color:
rgb: (0, 0, 1)
GridLayout:
rows:1
size_hint: .1,.1
pos_hint: {'center_x': .5, 'center_y': .5}
Button:
id: playButton
size_hint_x: None
width: 100
text: 'Play !'
font_size: 12
bold: True
italic: False
border: 10,10,10,10
color: (0.5, 1, 0.5, 1)
on_press: root.playButton_press()
<LoadingScreen>:
canvas:
Color:
rgba: 0.4, 0.4, 0.4, 1
Rectangle:
pos: root.center
size: (32, 32)
BoxLayout:
Label:
text: 'JB'
font_size: 100
Label:
text: 'Loading...'
font_size: 10
'''
class PlayScreen(Screen):
play_Button = ObjectProperty(None)
def __init__(self, **kwargs):
super(PlayScreen, self).__init__(**kwargs)
Clock.schedule_interval(self.update, 1.0/2)
def update(self,dt):
print "Current screen is ",self.manager.current
def playButton_press(self):
print "Hi Play button is pressed"
sm.current = 'loading'
class LoadingScreen(Screen):
def __init__(self, **kwargs):
super(LoadingScreen, self).__init__(**kwargs)
Clock.schedule_once(self.callNext, 3)
def callNext(self,dt):
self.manager.current = 'play'
print "Hi this is call Next Function of loading 1"
# Create the screen manager
Builder.load_string(gui_v3)
sm = ScreenManager(transition= FallOutTransition())
sm.add_widget(LoadingScreen(name='loading'))
sm.add_widget(PlayScreen(name='play'))
class MyJB(App):
def build(self):
print sm.screen_names
return sm
if __name__ == '__main__':
MyJB().run()
您应该使用屏幕的
on_enter
事件。只需在kv文件中执行以下操作:还有一个kv顶部需要导入时钟,
#:import Clock kivy.clock.Clock
。现在每次打开屏幕,它都会安排回调。在相关问题 更多 >
编程相关推荐