Как получить выбранные строки в QTableView
После просмотра многих потоков о получении выбранных номеров строк, я действительно смущен.
Как вы получаете номера ROW в QTableView
с помощью QStandardItemModel
Я использовал ниже модель и поведение модели в качестве
setSelectionBehavior(QAbstractItemView::SelectRows);
setSelectionMode(QAbstractItemView::SingleSelection);
и если у вас есть собственный способ выбора, вы можете объяснить, как это работает.
Спасибо за помощь!
Ответы
Ответ 1
Метод selectionModel()
возвращает a QItemSelectionModel
.
Вы можете использовать класс QItemSelectionModel
для проверки/изменения/выбора других объектов
Пример:
QItemSelectionModel *select = table->selectionModel();
select->hasSelection() //check if has selection
select->selectedRows() // return selected row(s)
select->selectedColumns() // return selected column(s)
...
Ответ 2
Отметьте selectedRows
метод QItemSelectionModel
Класс.
QModelIndexList selection = yourTableView->selectionModel()->selectedRows();
// Multiple rows can be selected
for(int i=0; i< selection.count(); i++)
{
QModelIndex index = selection.at(i);
qDebug() << index.row();
}
Ответ 3
попробовать:
QModelIndexList indexList = yourTableView->selectionModel()->selectedIndexes();
int row;
foreach (QModelIndex index, indexList) {
row = index.row();
....
}