Проще говоря, я создаю диспетчер игрушечных задач с помощью wx python и psutil. У меня есть searchCtrl в верхней части списка. Но я не смог найти способ показать только соответствующие элементы в этом списке. Я попытался создать список всех задач, а затем удалить все элементы, кроме соответствующих, но, к сожалению, это не работает, поскольку список обновлялся каждые 5 секунд.
def on_search_task(self , e): # this function got executed when the a search event is fired
index = 0
keepitems = []
for x in self.alltasks:
for a in dict(x).values():
if a.find(e.GetString()) >= 0:
print("match at {} - {}".format(index , self.alltasks.index(x)))
print(self.alltasks.index(x) == index)
else:
keepitems.append(index)
index += 1
for x in keepitems:
self.task_list.DeleteItem(x)
Надеюсь, я смог опишите проблему и мою цель. Исходный код с текущим прогрессом также доступен на GitHub здесь https://github.com/bauripalash/taskboy для дальнейшего использования.