我正在尝试在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。
提前感谢您的帮助。
答案 0 :(得分:0)
创建自己的ListItemLabel子类,在其中添加kv规则。
类YourLabel(ListItemLabel): 通
然后在args转换器中传递cls=YourLabel
。