Kivy ListView NamError

时间:2015-06-24 17:27:52

标签: python listview kivy nameerror

我正在尝试在Kivy中创建一个包含可能非常长的字符串的ListView。我希望这些字符串的标签能够包装。我知道如何设置标签包装:

        text_size: root.width, None
        size: self.texture_size

但是,当我尝试在args转换器中设置它时:

args_converter = lambda row_index, rec: {'text': rec['text'],
                                         'size_hint_y': None,
                                         'text_size': (root.width, None),
                                         'size': self.texture_size}

list_adapter = ListAdapter(data=data,
                           args_converter=args_converter,
                           cls=ListItemLabel,
                           selection_mode='single',
                           allow_empty_selection=False)

list_view = ListView(adapter=list_adapter)

我得到一个NameError:未定义名称“root”。 用数字替换'root.width',我也得到'self'的NameError。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

创建自己的ListItemLabel子类,在其中添加kv规则。

类YourLabel(ListItemLabel):     通

然后在args转换器中传递cls=YourLabel