Я пытаюсь построить поиск в реальном времени для QTreeWidget, это означает, что у меня есть QLineEdit, и когда я печатаю, я отфильтрую показанные результаты в QTreeWidget.
В настоящее время я получаю "все еще показанные элементы" с QTreeWidget.findItems ()
foundItems = mainForm.ui.treeShips.findItems(text,QtCore.Qt.MatchContains)
позже я очищаю QTreeWidget (mainForm.ui.treeShips) с
mainForm.ui.treeShips.clear()
тогда я хочу добавить "все еще показанные пункты" с
mainForm.ui.treeShips.addTopLevelItems(foundItems)
но затем происходит сбой программы с ошибкой «базовый объект C / C ++ удален»
Моя первая идея заключается в том, что при очистке treeShips содержимое foundItems также очищается, поскольку объекты foundItems (print (foundItems)) и объекты treeShips имеют одинаковые адреса, и когда программа хочет работать с этим список, это сбой.
Кто-нибудь знает, как это исправить,
или есть идея лучше применить такой "фильтр поиска"?
(я надеюсь, что смогу правильно описать свою проблему :))
спасибо и наилучшие пожелания