我已經搜索過QT文檔供參考,但我有一些問題。 這裏是QT文檔的實現:如何在QT中爲自定義模型實現removeRow()函數?
bool TableModel::removeRows(int position, int rows, const QModelIndex &index)
{
Q_UNUSED(index);
beginRemoveRows(QModelIndex(), position, position + rows - 1);
for (int row = 0; row < rows; ++row) {
listOfPairs.removeAt(position);
}
endRemoveRows();
return true;
}
我認爲它在tableview中使用index.row直接定位在模型中的數據。但是如果我爲tableview啓用排序呢?排序後,tableview中的索引不對應於模型中的數據。 tableview中的第一行可能是模型中的第三個數據。
如何通過tableview查找模型中的數據? 是否有更好的實現removeRow()函數?