PyQt5 QTableView用法
时间: 2023-12-29 07:49:36 浏览: 41
PyQt5中的QTableView是一个常见的表格控件,用于展示数据。下面是一个简单的示例,演示如何在QTableView中显示数据。
首先,需要导入PyQt5和pandas库:
```python
import sys
import pandas as pd
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QStandardItemModel, QStandardItem
```
然后,创建一个QStandardItemModel模型,并设置表头:
```python
# 创建模型
model = QStandardItemModel()
# 设置表头
model.setHorizontalHeaderLabels(['Name', 'Age', 'Gender'])
```
接着,使用pandas库来读取数据:
```python
# 读取数据
data = pd.read_csv('data.csv')
```
然后,遍历数据,并将其添加到模型中:
```python
# 添加数据到模型
for i in range(data.shape[0]):
row = []
for j in range(data.shape[1]):
item = QStandardItem(str(data.iloc[i, j]))
item.setTextAlignment(Qt.AlignCenter)
row.append(item)
model.appendRow(row)
```
最后,将QTableView控件与模型绑定,并显示窗口:
```python
# 创建QTableView控件
view = QTableView()
view.setModel(model)
# 创建窗口
window = QMainWindow()
window.setCentralWidget(view)
window.show()
# 运行应用程序
sys.exit(app.exec_())
```
完整代码如下:
```python
import sys
import pandas as pd
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QStandardItemModel, QStandardItem
# 创建应用程序
app = QApplication(sys.argv)
# 创建模型
model = QStandardItemModel()
# 设置表头
model.setHorizontalHeaderLabels(['Name', 'Age', 'Gender'])
# 读取数据
data = pd.read_csv('data.csv')
# 添加数据到模型
for i in range(data.shape[0]):
row = []
for j in range(data.shape[1]):
item = QStandardItem(str(data.iloc[i, j]))
item.setTextAlignment(Qt.AlignCenter)
row.append(item)
model.appendRow(row)
# 创建QTableView控件
view = QTableView()
view.setModel(model)
# 创建窗口
window = QMainWindow()
window.setCentralWidget(view)
window.show()
# 运行应用程序
sys.exit(app.exec_())
```
其中,data.csv是一个包含姓名、年龄和性别的CSV文件。