从QTreeWidget中删除行(QTreeWidgetItem)的最佳方法是什么?
QTreeWidget内容已设置为:
myQTreeWidget->insertTopLevelItems(0, items); // items = QList<QTreeWidgetItem*>
然后我从我的QList“items”中删除了一个项目,我尝试清除/重置QTreeWidget
packList->clear();
packList->insertTopLevelItems(0, items);
但我的应用程序崩溃了! 建议?
答案 0 :(得分:3)
您的问题是调用packList->clear()
会删除树中包含的树窗口小部件项。 (请参阅有关QTreeWidget::clear()
的文档,其中包含有关在删除之前从树中删除项目的说明。)您需要找到一种方法来删除项目,或者不要单独维护它们的列表。树。
在一个稍微相关的说明中,如果您尝试跟踪树中的其他数据,我建议您尝试使用模型范例。在非平凡的情况下,转换为该技术通常是值得的,而不是使用小部件/项目。
答案 1 :(得分:1)