kivy: Как я могу удалить выделение со всех элементов в FileChooserListView - PullRequest
0 голосов
/ 24 апреля 2020

Я хотел бы иметь возможность удалить выделение из всех элементов в kivy FileChooserListView. Я вижу, что я могу удалить фактический выбор, установив мой выбор FileChooserListView (). В пустой список []. Но это не снимает выделения ранее выбранных элементов. Спасибо за помощь.

1 Ответ

0 голосов
/ 24 апреля 2020

Кажется, нет никакого способа сделать это напрямую, но я думаю, что этот уродливый хак сработает:

class FakeEntry():
    def __init__(self, **kwargs):
        self.path = kwargs.pop('path', None)

class FakeEvent():
    def __init__(self):
        self.profile = []
        self.button = None
        self.is_double_tap = False

'''
Clear all selections in the specified FileChooser
'''
def clear_selection(file_chooser, *args):
    layout = file_chooser.layout
    if layout.VIEWNAME == 'list':
        layout.ids.treeview.deselect_node()
    fakeTouch = FakeEvent()
    for path in file_chooser.selection[:]:
        file_chooser.entry_touched(FakeEntry(path=path), fakeTouch)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...