QStandardItemModel と QSortFilterProxyModel で QTreeView を使用すると問題が発生します。ソース モデルから行を削除しようとすると、プログラムがクラッシュします。この場所で
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
Qt 4.8.3でkubuntu 12.10を使用しています。
コードを間違えたのでしょうか、それとも Qt のバグでしょうか?
ありがとう。
4.8.4 でプロジェクトをビルドしようとしましたが、動作します。だから私はそれがQtのバグだと思う