绝望的ListView NamError

Kivy ListView NamError

我正在尝试在 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

在此先感谢您的帮助。

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

class 你的标签(ListItemLabel): 通过

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