qtableview用法
时间: 2023-08-21 20:33:16 浏览: 107
QTableView是一个Qt中的表格视图控件,用于显示和编辑表格数据。下面是QTableView的用法:
1. 创建QTableView对象
```python
tableView = QTableView()
```
2. 创建数据模型
```python
model = QStandardItemModel()
```
3. 设置表头
```python
model.setHorizontalHeaderLabels(['Name', 'Age', 'Gender'])
```
4. 添加数据
```python
row = [QStandardItem('Tom'), QStandardItem('25'), QStandardItem('Male')]
model.appendRow(row)
```
5. 设置数据模型
```python
tableView.setModel(model)
```
6. 设置表格属性
```python
tableView.setEditTriggers(QAbstractItemView.NoEditTriggers)
tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
```
7. 显示表格
```python
tableView.show()
```
以上是QTableView的基本用法,可以根据需要进行修改和扩展。
相关问题
QTableView用法
QTableView是一个Qt中的表格视图控件,用于显示和编辑表格数据。下面是QTableView的用法:
1. 创建QTableView对象
```python
tableView = QTableView()
```
2. 创建数据模型
```python
model = QStandardItemModel()
```
3. 设置表头
```python
model.setHorizontalHeaderLabels(['Name', 'Age', 'Gender'])
```
4. 添加数据
```python
row = [QStandardItem('Tom'), QStandardItem('25'), QStandardItem('Male')]
model.appendRow(row)
```
5. 设置数据模型
```python
tableView.setModel(model)
```
6. 设置表格属性
```python
tableView.setEditTriggers(QAbstractItemView.NoEditTriggers)
tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
```
7. 显示表格
```python
tableView.show()
```
以上是QTableView的基本用法,可以根据需要进行修改和扩展。
PyQt5 QTableView用法
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文件。
阅读全文