QStandardItemModel 读取当前选中的行列
时间: 2024-03-12 17:42:53 浏览: 57
QStandardItemModel是Qt中提供的一个用于管理标准项的模型类,它继承自QAbstractItemModel类。如果想要读取QStandardItemModel中当前选中的行列,可以使用QTableView类。
具体做法是:
1. 通过QTableView::selectionModel()函数获取QItemSelectionModel对象;
2. 通过QItemSelectionModel::selectedIndexes()函数获取选中的项的索引列表;
3. 遍历索引列表,获取每个索引的行列信息。
下面是示例代码:
```
QStandardItemModel *model = new QStandardItemModel(this);
// 设置模型数据
...
// 创建视图
QTableView *tableView = new QTableView(this);
tableView->setModel(model);
// 获取选中的项
QItemSelectionModel *selectionModel = tableView->selectionModel();
QModelIndexList indexList = selectionModel->selectedIndexes();
foreach (QModelIndex index, indexList) {
int row = index.row(); // 获取行号
int column = index.column(); // 获取列号
// 处理选中项的数据
...
}
```
在上述示例代码中,QStandardItemModel已经被设置了模型数据,QTableView被创建并设置了模型。获取选中项的代码在第3行和第4行,通过QItemSelectionModel::selectedIndexes()函数获取了选中项的索引列表。然后在循环中遍历索引列表,获取每个索引的行列信息,并进行相应的处理。
阅读全文