请看一下这个演示,让我知道为什么我无法将功能=[“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())
我得到以下错误
消息文件名行位置回溯
21
init C:\Python27\ArcGIS10。4\lib\site packages\kivy\uix\boxlayout。py 102
初始化C:\Python27\ArcGIS10。4\lib\site packages\kivy\uix\layout。Py72
初始化C:\Python27\ArcGIS10。4\lib\site packages\kivy\uix\widget。py 320
应用C:\Python27\ArcGIS10。4\lib\site packages\kivy\lang.py 1970
应用规则C:\Python27\ArcGIS10。4\lib\site packages\kivy\lang.py 2130
BuilderException:解析器:文件“”,第4行:…2::3:列表视图:
4:item_strings:[str(index)在功能索引]...2:: 3: ListView: 4:item_strings:[str(index)的索引功能]...NameError:名称'功能'未定义File""C:\Python27\ArcGIS10.4\lib\site-包\kivy\lang.py",第1742行,create_handler返回值(value, idmap),bound_listFile """", 第4行,在
文件“”C:\Python27\ArcGIS10。4\lib\site packages\kivy\lang.py“,第2115行,在_apply_rule rctx['ids'])文件“C:\Python27\ArcGIS10中。4\lib\site packages\kivy\lang.py“”,第1747行,位于create\u handler cause=tb)
也许你的意思是:
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())
如果你以前没有读过这个,我建议你读一读。