我有一个模型的子类,QAbstractListModel
其中QList
包含QDateTime
用于维护此列表的数据。我必须将这些数据保留一个小时,即,旧数据将从列表中删除。这基本上是 FIFO 列表。我有一个代理模型(的子类QSortFilterProxyModel
)来对数据进行排序。每当数据发生变化时,代理模型都会丢失索引并显示未过滤的数据。以下是执行此操作的代码片段。
emit layoutAboutToBeChanged();
beginInsertRows(QModelIndex(), 0, 1); //we are prepending
m_entries.prepend(e);
endInsertRows();
emit layoutChanged();
这似乎解决了这个问题。但是,如果在视图 ( QTreeView
) 上选择了某些内容,那么应用程序会在一段时间后因大量此类错误消息而崩溃。
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
调试器上的堆栈跟踪显示mouseSelectEvent
需要的和其他功能QModelIndex
。
对不起,很长的问题。有人可以帮忙解决这个问题吗?
谢谢。