在 Python Kivy 中将数组添加到列表视图时面临的问题

Posted

技术标签:

【中文标题】在 Python Kivy 中将数组添加到列表视图时面临的问题【英文标题】:Facing Issue on Adding Array to list view in Python Kivy 【发布时间】:2017-08-10 07:59:09 【问题描述】:

能否请您看一下这个演示并告诉我为什么我无法将features = ["A","B","C"] 加载到MyListView

from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.base import runTouchApp

features = ["A","B","C"]
Builder.load_string("""
<MyListView>:
    ListView:
        item_strings: [str(index) for index in features]
""")

class MyListView(BoxLayout):
    pass

if __name__ == '__main__':
    runTouchApp(MyListView())

我收到以下错误

消息文件名行位置回溯 21init C:\Python27\ArcGIS10.4\lib\site-packages\kivy\uix\boxlayout.py 102init C:\Python27 \ArcGIS10.4\lib\site-packages\kivy\uix\layout.py 72init C:\Python27\ArcGIS10.4\lib\site-packages\kivy\uix\widget .py 320 应用 C:\Python27\ArcGIS10.4\lib\site-packages\kivy\lang.py 1970 _apply_rule C:\Python27\ArcGIS10.4\lib\site-packages\kivy\lang.py 2130 "BuilderException: Parser: File """", line 4: ... 2:: 3:列表视图:

4: item_strings: [str(index) for index in features] ... BuilderException: Parser: File """", line 4: ... 2:: 3:列表视图: 4: item_strings: [str(index) for index in features] ... NameError: name 'features' is not defined 文件 ""C:\Python27\ArcGIS10.4\lib\site-packages\kivy\lang.py"",第 1742 行, 在 create_handler return eval(value, idmap), bound_list File """", line 4, in

文件 ""C:\Python27\ArcGIS10.4\lib\site-packages\kivy\lang.py"", 行 第2115章 rctx['ids']) 文件 ""C:\Python27\ArcGIS10.4\lib\site-packages\kivy\lang.py"",第 1747 行, 在 create_handler 原因=待定)“

【问题讨论】:

【参考方案1】:

也许你的意思是这样的:

from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.base import runTouchApp


Builder.load_string("""
<MyListView>:
    ListView:
        item_strings: [str(index) for index in root.features]
""")


class MyListView(BoxLayout):
    features = ["A", "B", "C"]


if __name__ == '__main__':
    runTouchApp(MyListView())

如果您以前没有阅读过this,我建议您阅读。

【讨论】:

以上是关于在 Python Kivy 中将数组添加到列表视图时面临的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中将二维数组添加到数据库中

如何在这张图片中将多个列表视图添加到 sliver 列表中 - 颤动

在 MVC ASP.Net 中将插件添加到部分视图选择列表

如何将文本输入值添加到kivy python中字典中的值?

在kivy中制作一个切换到不同屏幕的按钮列表视图

如何过滤列表视图中的内部子元素以及使用 Jquery 在移动应用程序中将字母滚动条添加到列表视图的任何简单方法