【发布时间】:2012-02-10 15:17:44
【问题描述】:
我尝试为 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 的对象具有相同的地址,并且当程序想要使用它时列表,它崩溃了。
有人知道如何解决吗? 或者有更好的想法来应用这样的“搜索过滤器”?
(我希望我能正确描述我的问题:))
感谢和问候
【问题讨论】:
标签: python qt list crash qtreewidget