我知道是否要在tableview中获取所选值的索引和数据;
QModelIndexList _indexes = ui->tvDatabaseImages->selectionModel()->selectedRows();
foreach (QModelIndex index, _indexes)
{
qDebug() << "TableView Index = " << QString::number(index.row());
qDebug() << "TableView Index Value = " << index.data().toInt();
}
但是我希望得到所有tableview索引列表而不进行选择。可能吗?如果是的话,我该怎么做?
答案 0 :(得分:2)
使用QTableView
后面的模型:
model=myView.model()
for ( int col = 0; col < model.columnCount(); ++col )
{
for( int row = 0; row < model.rowCount(); ++row )
{
index = model.index( row, col );
qDebug() << index.data();
}
}
奇怪的是,我没有找到更直接的东西。
答案 1 :(得分:0)
如果有人想要 QModelIndexList,他们可以通过遍历模型的所有行来获取它。
QModelIndexList indices;
for (int i=0; i<model->rowCount(); i++){
indices << model->indexFromItem(model->item(i, 0));
}
确保模型是“QStandardItemModel”类型而不是“QAbstractItemModel”。如果您的模型是 QAbstractItemModel 类型,您可以使用静态转换来转换它。
QStandardItemModel *currModel = static_cast<QStandardItemModel*>(model());