在看了很多关于获取选定行号的线程之后,我真的很困惑。
您如何QTableView
使用QStandardItemModel
我在下面使用的选择模型和行为获得 ROW 编号
setSelectionBehavior(QAbstractItemView::SelectRows);
setSelectionMode(QAbstractItemView::SingleSelection);
如果你有自己的选择方式,你能解释一下它是如何工作的。谢谢您的帮助!
在看了很多关于获取选定行号的线程之后,我真的很困惑。
您如何QTableView
使用QStandardItemModel
我在下面使用的选择模型和行为获得 ROW 编号
setSelectionBehavior(QAbstractItemView::SelectRows);
setSelectionMode(QAbstractItemView::SingleSelection);
如果你有自己的选择方式,你能解释一下它是如何工作的。谢谢您的帮助!
该方法selectionModel()
返回一个QItemSelectionModel
.
您可以使用QItemSelectionModel
类来检查/更改/其他选择
例子:
QItemSelectionModel *select = table->selectionModel();
select->hasSelection() //check if has selection
select->selectedRows() // return selected row(s)
select->selectedColumns() // return selected column(s)
...
类的检查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();
}
尝试:
QModelIndexList indexList = yourTableView->selectionModel()->selectedIndexes();
int row;
foreach (QModelIndex index, indexList) {
row = index.row();
....
}