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