Подтвердить что ты не робот

Как получить выбранные строки в QTableView

После просмотра многих потоков о получении выбранных номеров строк, я действительно смущен.

Как вы получаете номера ROW в QTableView с помощью QStandardItemModel Я использовал ниже модель и поведение модели в качестве

setSelectionBehavior(QAbstractItemView::SelectRows);
setSelectionMode(QAbstractItemView::SingleSelection);

и если у вас есть собственный способ выбора, вы можете объяснить, как это работает. Спасибо за помощь!

4b9b3361

Ответ 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();
    ....
}