将QTreeView与QStandardItemModel和QSortFilterProxyModel一起使用时遇到问题。 当我尝试从源模型中删除行时,我的程序会崩溃。 在这个地方
parent->removeRow(item->row());
堆栈看起来像这样
0 ?? /usr/lib/x86_64-linux-gnu/libQtGui.so.4 0
1 ?? /usr/lib/x86_64-linux-gnu/libQtGui.so.4 0
2 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) /usr/lib/x86_64-linux-gnu/libQtCore.so.4
3 QAbstractItemModel::rowsRemoved(QModelIndex const&, int, int) /usr/lib/x86_64-linux-gnu/libQtCore.so.4
4 QAbstractItemModel::endRemoveRows() /usr/lib/x86_64-linux-gnu/libQtCore.so.4
5 Widget::remove_items widget.cpp
6 Widget::Widget widget.cpp
7 main main.cpp
我正在使用kubuntu 12.10和Qt 4.8.3。
我是否误解了我的代码或Qt的错误?
感谢。
我尝试使用4.8.4构建项目并且它可以工作。所以我认为,这是Qt的错误