У меня другая проблема в моем проекте с kivy. У меня есть 50 экранов, и я хочу сначала отобразить список кнопок, относящихся к экранам. При нажатии кнопки экранный менеджер должен переключиться на соответствующий экран. Вот мой код, но я не знаю, что мне делать!Создайте список кнопок, которые переключаются на разные экраны в kivy
источник: https://gist.github.com/daryasary/3a2be816c1f35b748866
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from kivy.app import App
#from kivy.uix.popup import Popup
#from kivy.uix.label import Label
from kivy.core.audio import SoundLoader
Builder.load_string('''
<MenuPage>:
BoxLayout:
BoxLayout:
size_hint:(.1, None)
Button:
text: 'Credit'
#on_press:root.show_popup()
#ListView:
#size_hint: .8,.9
#adapter:
#sla.SimpleListAdapter(
#data=["Item #{0}".format(i) for i in range(100)],
#cls=button.Button
#selection_mode='single',
#allow_empty_selection=False)
ListView:
size_hint: .8, .97
item_strings: [str(index) for index in range(50)]
BoxLayout:
size_hint:(.1, None)
Button:
text: 'atlas'
<Page>:
BoxLayout:
BoxLayout:
size_hint:(.1, None)
Button:
text: 'MENU'
on_press: root.manager.current = 'menu'
BoxLayout:
orientation:'vertical'
Button:
text:'Title'
size_hint:(1, .2)
Image:
source: '/home/hosein/Pictures/1.png'
size_hint:(1, .8)
BoxLayout:
size_hint:(.1, None)
Button:
text: 'atlas'
''')
class MenuPage(Screen):
M = SoundLoader.load('/home/hosein/Music/Man.mp3')
def plays(self):
if MenuPage.M.state == 'stop':
MenuPage.M.play()
else:
MenuPage.M.stop()
class Page(Screen):
pass
sm = ScreenManager()
menu = MenuPage(name='menu')
sm.add_widget(menu)
for i in range(50):
name = Page(name=str(i))
sm.add_widget(name)
class TestApp(App):
def build(self):
return sm
if __name__ == '__main__':
TestApp().run()
В чем проблема? – Totem
Я хочу сделать выборный вид с помощью 49 кнопок, нажимайте каждый элемент (кнопку), экранный переключатель, чтобы ссылаться на экран. –