QStandardItemModel 的用法
时间: 2024-05-05 12:15:03 浏览: 8
QStandardItemModel 是 Qt 框架中的一个模型类,用于存储和管理数据,常用于与视图控件(如 QTableView、QTreeView 等)一起使用。常见的用法包括:
1. 创建 QStandardItemModel 对象:
```python
model = QStandardItemModel()
```
2. 设置表头:
```python
model.setHorizontalHeaderLabels(['Name', 'Age', 'Gender'])
```
3. 添加数据:
```python
item1 = QStandardItem('Alice')
item2 = QStandardItem('20')
item3 = QStandardItem('Female')
model.appendRow([item1, item2, item3])
```
4. 获取数据:
```python
item = model.item(0, 0) # 获取第 1 行第 1 列的数据项
data = item.data() # 获取数据项的值
```
5. 修改数据:
```python
item = model.item(0, 1)
item.setData('21') # 修改第 1 行第 2 列的数据项的值
```
6. 删除数据:
```python
model.removeRow(0) # 删除第 1 行的数据
```
7. 清空数据:
```python
model.clear() # 清空数据
```
8. 获取数据行数和列数:
```python
row_count = model.rowCount() # 获取数据行数
column_count = model.columnCount() # 获取数据列数
```
9. 设置数据项的属性(如字体、颜色、对齐方式等):
```python
item = QStandardItem('Hello')
item.setFont(QFont('Times', 16, QFont.Bold))
item.setForeground(QColor(255, 0, 0))
item.setTextAlignment(Qt.AlignCenter)
```
10. 获取数据项的属性:
```python
font = item.font() # 获取字体属性
color = item.foreground() # 获取前景色属性
alignment = item.textAlignment() # 获取对齐方式属性
```