我有一个 QStandardItemModel 和一个 QTableView。视图的排序方式与模型不同。我正在使用 QSortFilterProxyModel。
如果我在视图中选择要删除的一行,我如何知道模型中的哪一行对应?
从,
http://doc.qt.io/qt-5/qitemselectionmodel.html
QModelIndexList QItemSelectionModel::selectedIndexes() const
返回所有选定模型项索引的列表。该列表不包含重复项,并且未排序。
这可以从视图的选择模型中访问。
您还可以确定视图中的哪一行代表哪个 QModelIndex。例如QAbstractItemView::visualRect(const QModelIndex &)
,获取索引的视觉矩形。还有indexAt(const QPoint &)
其他方向的映射。
现在既然您添加了您正在使用代理模型,那么使用代理模型的功能映射到原始模型 -QSortFilterProxyModel::mapToSource
总之,