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

how can I get indexes of multiple selected rows in QTableWidget

本文关键字:索引 QTableWidget      更新时间:2023-10-16

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

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

但是我不知道如何使用QItemSelectionModel到达表中的项目。我该怎么做呢?在TableWidget中没有函数返回基于QModelIndex的项目,只有QPoint

为了获得选择范围内的第一项和最后一项,您可以简单地对该列表进行排序。例如:

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());

QTableWidget::item(int row, int column)QModelIndex::column ()QModelIndex::row ()分别有什么帮助吗?