如何在QTableWidget中获取多个选定行的索引

时间:2014-07-27 18:57:38

标签: c++ qt

我有一个用户可以选择多行的表,但是我需要知道顶部和最后一个选定行的索引,我尝试使用http://qt-project.org/doc/qt-5/QModelIndex.html到目前为止我有这个:

QItemSelectionModel *selections = this->ui->tableWidget->selectionModel();
QModelIndexList selected = selections->selectedRows(3);

但我不知道如何使用QItemSelectionModel来达到表格项目。我怎样才能做到这一点? TableWidget中没有函数返回基于QModelIndex的项目,只有QPoint

2 个答案:

答案 0 :(得分:1)

QTableWidget::item(int row, int column)分别与QModelIndex::column ()QModelIndex::row ()一起提供任何帮助吗?

答案 1 :(得分:1)

为了获得选择范围中的第一个和最后一个项目,您只需对该列表进行排序即可。例如:

QItemSelectionModel *selections = this->ui->tableWidget->selectionModel();
QModelIndexList selected = selections->selectedRows(3);
qSort(selected);
QModelIndex first = selected.first();
QModelIndex last = selected.last();

现在让我们获取第一个和最后一个表项:

QTableWidgetItem *firstItem = this->ui->tableWidget->item(first.row(), first.column());
QTableWidgetItem *lastItem = this->ui->tableWidget->item(last.row(), last.column());