pyqt 将table view放入到frame中
时间: 2024-01-11 11:04:52 浏览: 108
可以使用 `QTableView` 和 `QFrame` 来实现将 `TableView` 放入 `Frame` 中。
下面是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QFrame, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QStandardItemModel, QStandardItem
app = QApplication([])
widget = QWidget()
# 创建一个 QFrame
frame = QFrame()
frame.setFrameShape(QFrame.Box)
frame.setFrameShadow(QFrame.Sunken)
# 创建一个 QVBoxLayout 布局,用来将 QTableView 放入 QFrame 中
layout = QVBoxLayout(frame)
# 创建一个 QStandardItemModel
model = QStandardItemModel()
model.setHorizontalHeaderLabels(['Name', 'Age'])
# 添加数据
for row in range(3):
items = [QStandardItem('Name {}'.format(row)), QStandardItem(str(20 + row))]
model.appendRow(items)
# 创建 QTableView
table_view = QTableView()
table_view.setModel(model)
# 设置 QTableView 的行列宽度
table_view.horizontalHeader().setDefaultSectionSize(100)
table_view.verticalHeader().setDefaultSectionSize(25)
# 将 QTableView 放入 QVBoxLayout 布局中
layout.addWidget(table_view)
# 将 QFrame 放入 QWidget 中
layout_main = QVBoxLayout(widget)
layout_main.addWidget(frame)
widget.show()
app.exec_()
```
这段代码实现了将 `TableView` 放入 `Frame` 中并展示的功能,您可以根据自己的需求进行修改。
阅读全文