我有一个用户可以选择多行的表,但是我需要知道顶部和最后一个选定行的索引,我尝试使用http://qt-project.org/doc/qt-5/QModelIndex.html到目前为止我有这个:
QItemSelectionModel *selections = this->ui->tableWidget->selectionModel();
QModelIndexList selected = selections->selectedRows(3);
但我不知道如何使用QItemSelectionModel
来达到表格项目。我怎样才能做到这一点? TableWidget中没有函数返回基于QModelIndex
的项目,只有QPoint
答案 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());