首页 文章

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

提问于
浏览
0

你可以看看这个演示,让我知道为什么我无法加载 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())

我收到了以下错误

消息文件名行位置跟踪21 init C:\ Python27 \ ArcGIS10.4 \ lib \ site-packages \ kivy \ uix \ boxlayout.py 102 init C:\ Python27 \ ArcGIS10.4 \ lib \ site-packages \ kivy \ uix \ layout.py 72 init 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”“”“,第4行:... 2 :: 3:ListView:4: item_strings:[str(index)for features in features] ... BuilderException:Parser:File“”“”,第4行:... 2 :: 3:ListView:4:item_strings:[str(index)for index in功能] ... NameError:名称'features'未定义文件“”C:\ Python27 \ ArcGIS10.4 \ lib \ site-packages \ kivy \ lang.py“”,第1742行,在create_handler中返回eval(value, idmap),bound_list文件“”“”,第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“”,l ine 1747,在create_handler cause = tb)“

1 回答

  • 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 .

相关问题