获取tableview中QStandardItemModel选中的行
时间: 2023-05-26 09:02:00 浏览: 502
可以通过调用QTableView的selectedIndexes()方法获取选中的单元格的QModelIndex,然后使用QModelIndex的row()方法获取选中的行数。如下示例代码:
```python
# 获取选中的行数
selected_indexes = tableView.selectedIndexes()
rows = set(index.row() for index in selected_indexes)
```
其中,set()函数可以去重,保留唯一的行数。
相关问题
获取tableview中QStandardItemModel选中的行,并获取每行所有item数据
可以使用QStandardItemModel的selectedRows()方法获取选中的行,然后遍历每行的每个item,获取它们的数据。
示例代码:
```python
selected_indexes = tableview.selectedIndexes() # 获取选中的索引
rows = set(index.row() for index in selected_indexes) # 获取选中的行号
model = tableview.model() # 获取QStandardItemModel
for row in rows:
items = []
for column in range(model.columnCount()):
index = model.index(row, column)
item = model.data(index)
items.append(item)
print(items) # 打印每行的所有item数据
```
这段代码先通过selectedIndex()方法获取到选中的索引,然后根据索引获取选中的行号,并遍历每行的每个column获取对应的item数据。最后打印每行的所有item数据。
QTableview绑定了QStandardItemModel,如何获取选中行的item包括隐藏列的tiem
可以使用QTableView的selectedIndexes()函数获取选中行的所有索引,然后遍历这些索引,通过QStandardItemModel的itemFromIndex()函数获取对应的item,包括隐藏列的item也能获取到。
示例代码:
```
QModelIndexList selectedIndexes = tableView->selectionModel()->selectedIndexes();
foreach (QModelIndex index, selectedIndexes) {
QStandardItem *item = model->itemFromIndex(index);
// TODO: 处理获取到的item
}
```
阅读全文