qstandarditemmodel 中index用法
时间: 2023-09-04 15:10:55 浏览: 122
`QStandardItemModel` 是一个用于存储和处理数据的模型类,它提供了一种在视图和数据之间进行交互的方式。`QStandardItemModel` 的数据存储在 `QStandardItem` 中,每个 `QStandardItem` 对象可以包含一些数据、标签、图标等信息。
`QStandardItemModel` 中的 `index` 函数用于返回指定行列位置的 `QModelIndex` 对象。`QModelIndex` 包含了一个指向模型中某个元素的指针,可以用于唯一标识模型中的某个元素。`index` 函数的函数原型如下:
```python
QModelIndex QStandardItemModel.index(int row, int column, QModelIndex parent=QModelIndex())
```
其中,`row` 和 `column` 参数分别指定了要返回的元素的行号和列号,`parent` 参数指定了元素的父节点。如果 `parent` 为 `QModelIndex()`,则返回的是模型的根节点。
使用 `index` 函数可以获取模型中某个元素的 `QModelIndex`,然后可以通过该对象访问该元素的数据、标签、图标等信息。例如:
```python
model = QStandardItemModel()
item1 = QStandardItem("Item 1")
model.appendRow(item1)
index = model.index(0, 0) # 获取第 1 行第 1 列的元素的 QModelIndex
print(index.data()) # 输出 "Item 1"
```
这里创建了一个 `QStandardItemModel` 对象,并向其中添加了一个名为 "Item 1" 的元素。然后使用 `index` 函数获取第 1 行第 1 列的元素的 `QModelIndex`,并通过 `data` 函数获取该元素的数据,输出结果为 "Item 1"。
阅读全文