0
我使用Kivy構建了一個簡單的應用程序,該應用程序可以在選項卡式面板的不同選項卡中加載不同的圖像。不同的面板項目應該具有相似的行爲,但具有不同的圖像,所以我創建了一個窗口小部件類。我正在嘗試使用kv語言來初始化我的應用程序,就像在許多示例中一樣。
目前,我無法使其工作,因爲我無法找到如何將列表中的文件名從kv語言部分傳遞到小部件實例。我能夠與其他屬性,但ListProperty讓我難住。Kivy:從kv語言設置ListProperty
這裏是我的代碼片段:
Builder.load_string("""
<MyMainClass>:
#stuff
TabbedPanelItem:
MyClassLayout:
filenames: ['pic1.jpg', 'pic2.jpg', 'pic3.jpg', 'pic4.jpg']
#other TabbedPanelItems like the one above,
#with different strings in the list
""")
def MyMainClass(TabbedPanel):
pass
def MyClassLayout(FloatLayout):
filenames = ListProperty([])
#rest of my class
事情我已經嘗試過:
- 使用不同括號在KV語言部分分配名單:我想()和{} ,也沒有括號。
- 以不同的方式初始化ListProperty:我試着把一些字符串放在裏面了。
- 發送不同的列表:我試着發送數字而不是字符串。
結果始終是我的小部件中的文件名列表始終處於默認值。這可能是[]上面的代碼片段,或者是我在我的課程中聲明的任何內容。
有人請指出我做錯了什麼嗎?
謝謝。