【问题标题】:ListProperty item by index in kvListProperty 项目按 kv 中的索引
【发布时间】:2015-01-08 17:13:41
【问题描述】:

我已将高分存储在 ListProperty() 中,并且我正在尝试通过 kv 文件中的索引从该列表中获取一个项目(代码如下)。 一直提示“列表索引超出范围”。

.py 文件:

scores = ListProperty()

.kv 文件:

Label:
    text: str(root.scores[1])

如果我删除 [1] 索引部分并只保留 str(root.scores) 它会完美地显示整个列表。

【问题讨论】:

    标签: kivy


    【解决方案1】:

    我刚刚找到了一个我认为的答案。在创建新的 ListProperty() 时,我必须知道列表有多大才能使用索引列表访问 kv 中的项目。 因此,当我将 ListPropert 创建为:

    scores = ListProperty([['', 0], ['', 0], ['', 0], ['', 0]])
    

    然后它在 kv 文件中完美运行。

    我假设这适用于所有 kivy 属性,因此您必须预先知道属性的确切大小。

    【讨论】:

    • 您不必知道属性的确切大小,只需注意您的 kv 规则可能会应用您设置的默认值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    相关资源
    最近更新 更多