我正在开发一款在不同屏幕上包含多个舞台的应用程序,因此我选择了RecycleView作为舞台屏幕。现在,我只想通过单击RecycleView的不同按钮来访问不同的屏幕
我提供的代码不是实际的代码,但它是具有所需屏幕的部分。只需单击RV文本为“1”的按钮,帮助我访问屏幕(名称:“first”),其余我自己做
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.recycleview import RecycleView
Builder.load_string('''
<ExampleRV>:
viewclass: 'Button'
RecycleBoxLayout:
size_hint_y: None
size_hint_x: None
pos_hint: {'x': 0,'top': 0}
height: self.minimum_height
width: self.minimum_width
orientation: 'horizontal'
<Manager>:
Screen:
name: 'main'
Button:
text: "Press me"
size_hint: 0.8, 0.2
pos_hint: {"x":0.1, "y":0.1}
on_release: root.current = 'next'
Screen:
name: 'next'
ExampleRV:
Screen:
name: 'first'
Button:
text:'Press to go back'
on_release:
root.current= 'main'
''')
class ExampleRV(RecycleView):
def __init__(self, **kwargs):
super(ExampleRV, self).__init__(**kwargs)
self.data = [{'text': str(x)} for x in range(1,21)]
class Manager(ScreenManager):
pass
sm = Manager()
class myApp(App):
def build(self):
return sm
if __name__ == '__main__':
myApp().run()
必须创建以ScreenManager为属性的自定义按钮,以及更改按钮和屏幕时按下的屏幕名称。该信息必须通过数据属性发送。考虑到上述情况,我修改了生成2个屏幕的代码:第一个和第二个与2个按钮关联:
相关问题 更多 >
编程相关推荐