РЕДАКТИРОВАТЬ: Я вроде как ответил на неправильный вопрос, мое решение ниже меняет цвет четных / нечетных узлов, которые перекрывают фон. Я оставлю это здесь на случай, если это будет полезно.
Оригинальный ответ:
Есть несколько способов снять шкуру с этой кошки. Проще всего использовать свойства even_color
и odd_color
виджета TreeViewNode
. Вот как вы могли бы использовать это в вашем случае:
list_label=TreeView(root_options=dict(text='My root label'),hide_root=False)
list_label.add_node(TreeViewLabel(text='My first item', \
even_color=[0.5,0.1,0.1,1],odd_color=[0.1,0.1,0.5,1]))
Определенно было бы больше DRY , чтобы создать собственный настраиваемый виджет, который одинаково прост:
from kivy.uix.treeview import TreeViewLabel
from kivy.uix.button import Button
class MyTreeViewLabel(Button, TreeViewLabel):
def __init__(self, **kwargs):
super(MyTreeViewLabel, self).__init__(**kwargs)
self.even_color = [0.5,0.1,0.1,1]
self.odd_color = [0.1,0.1,0.5,1]
Тогда ваш код будет просто:
list_label=TreeView(root_options=dict(text='My root label'),hide_root=False)
list_label.add_node(MyTreeViewLabel(text='My first item'))