QItemSelectionModell选中某列
时间: 2023-08-23 11:03:36 浏览: 78
要选中某列,需要先获取该列的QModelIndex列表,然后使用QItemSelectionModel的select方法选中这些index。下面是一个简单的示例代码:
```
QTableView *tableView = new QTableView();
QStandardItemModel *model = new QStandardItemModel();
tableView->setModel(model);
// 假设要选中第二列
int col = 1;
QModelIndexList indexList;
for(int row = 0; row < model->rowCount(); ++row) {
QModelIndex index = model->index(row, col);
indexList.append(index);
}
QItemSelectionModel *selectionModel = tableView->selectionModel();
QItemSelection selection;
foreach(QModelIndex index, indexList) {
selection.select(index, index);
}
selectionModel->select(selection, QItemSelectionModel::Select);
```
这里使用QModelIndexList获取了第二列所有的QModelIndex,然后将它们加入到一个QItemSelection中,最后使用QItemSelectionModel的select方法选中。