删除行时Qt + QSortFilterProxyModel + QStandardItemModel + QTreeView + crush

时间:2013-01-24 16:21:00

标签: qt qtreeview qsortfilterproxymodel

将QTreeView与QStandardItemModel和QSortFilterProxyModel一起使用时遇到问题。 当我尝试从源模型中删除行时,我的程序会崩溃。 在这个地方

parent->removeRow(item->row());

The hole project (tar.gz)

pasbin.com

堆栈看起来像这样

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的错误

0 个答案:

没有答案