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:我试着把一些字符串放在里面了。
- 发送不同的列表:我试着发送数字而不是字符串。
结果始终是我的小部件中的文件名列表始终处于默认值。这可能是[]上面的代码片段,或者是我在我的课程中声明的任何内容。
有人请指出我做错了什么吗?
谢谢。