2015-06-24 2 views
0

Я пытаюсь создать ListView в Kivy, содержащий, возможно, очень длинные строки. Я бы хотел, чтобы эти ярлыки были обернуты. Я знаю, как сделать этикетки обертки установки:Kivy ListView NamError

 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.width' на число, я также получаю NameError для 'self'.

Заранее благодарим за любую помощь.

ответ

0

Создайте свой собственный подкласс класса ListItemLabel, в который вы добавляете правила kv.

класс YourLabel (ListItemLabel): проход

Затем проходят cls=YourLabel в преобразователе арг.

Смежные вопросы