Après avoir regardé de nombreuses discussions sur l'obtention des numéros de lignes sélectionnés, je suis vraiment confus.
Comment obtenir des nombres de ROW dans QTableView
en utilisant QStandardItemModel
J'ai utilisé ci-dessous le modèle de sélection et le comportement comme
setSelectionBehavior(QAbstractItemView::SelectRows);
setSelectionMode(QAbstractItemView::SingleSelection);
et si vous avez votre propre façon de sélectionner, pouvez-vous expliquer comment cela fonctionne. Merci pour l'aide!
La méthode selectionModel()
renvoie un QItemSelectionModel
.
Vous pouvez utiliser la classe QItemSelectionModel
pour vérifier/modifier/autre (s) sélection (s)
Exemple:
QItemSelectionModel *select = table->selectionModel();
select->hasSelection() //check if has selection
select->selectedRows() // return selected row(s)
select->selectedColumns() // return selected column(s)
...
Vérifiez la méthode selectedRows
de la classe 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();
}
essayer:
QModelIndexList indexList = yourTableView->selectionModel()->selectedIndexes();
int row;
foreach (QModelIndex index, indexList) {
row = index.row();
....
}