在 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 中将数组添加到列表视图时面临的问题的主要内容,如果未能解决你的问题,请参考以下文章