我的項目中有另外一個問題與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 2014-10-12 23:43:04
我想用49個按鈕進行可選擇的視圖,按下每個項目(按鈕)屏幕切換管理器參照屏幕。 – 2014-10-14 07:28:23