0
2個部件的種類。我覺得有點傻,因爲我知道我錯過了一些簡單的事情,但我一直在尋找,並且找不到任何東西。動態添加按鈕Kivy
第一:
我需要能夠按鈕添加到屏幕屏幕經理。我可以在.kv文件中完成,但無法在.py文件中工作,所以我知道我做錯了什麼。
第二:我需要將它添加到.py文件中(據我至少讀過),因爲我需要添加不同數量的按鈕,具體取決於列表中有多少項。所以我有這個測試代碼,它真的是我主代碼的一部分。
的.py:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
class Test(ScreenManager):
pass
class StartMenu(Screen):
pass
class LoadMenu(Screen):
lay = FloatLayout()
lay.add_widget(Button(text = 'Hi'))
class TestApp(App):
def build(self):
return Test()
if __name__=='__main__':
TestApp().run()
和.kv文件:
<Test>:
StartMenu:
name: 'start_menu'
FloatLayout:
Button:
size_hint: (.5, .10)
pos_hint: {'center_x': .5, 'center_y' : .90}
text: 'Play'
color: [1, 0, 0, 1]
font_size: self.height * 5/6
border: [25, 25, 25, 25]
on_press: root.current = 'load_menu'
LoadMenu:
name: 'load_menu'
,這樣只是給了我一個按鈕屏幕,當我點擊它把我送到一個黑色的屏幕。正如我所說我可以得到加載菜單來顯示按鈕,但這只是使用.kv文件。 至於動態添加按鈕將一個for
循環工作?
L=['save 1', 'save 2', 'save 3']
for x in L:
add_widget(Button(title = L[x]))