Python 利用pyqt创建窗口窗口上数据表形式列出所有学生成绩
时间: 2023-06-17 07:04:10 浏览: 35
首先,你需要安装 PyQt5 库来创建窗口。然后,你需要一个数据源来存储学生成绩。这个数据源可以是一个列表或者一个字典。接下来,你需要创建一个表格来列出学生成绩。以下是一个简单的代码示例来实现这个功能:
```python
import sys
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
class Example(QTableWidget):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle('学生成绩表')
self.setGeometry(100, 100, 600, 300)
# 设置表格的行数和列数
self.rowCount = 5
self.columnCount = 3
self.setRowCount(self.rowCount)
self.setColumnCount(self.columnCount)
# 设置表头
self.setHorizontalHeaderLabels(['学号', '姓名', '成绩'])
# 学生成绩数据源
self.data = {
'001': {'name': '张三', 'score': 90},
'002': {'name': '李四', 'score': 80},
'003': {'name': '王五', 'score': 70},
'004': {'name': '赵六', 'score': 60},
'005': {'name': '孙七', 'score': 50},
}
# 将数据源中的数据填充到表格中
for row, key in enumerate(self.data):
self.setItem(row, 0, QTableWidgetItem(key))
self.setItem(row, 1, QTableWidgetItem(self.data[key]['name']))
self.setItem(row, 2, QTableWidgetItem(str(self.data[key]['score'])))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个继承自 QTableWidget 的 Example 类。在构造函数中,我们设置了窗口的标题和大小,表格的行数和列数,并设置了表头。我们还创建了一个包含学生成绩的数据源,并将其填充到表格中。最后,我们显示了窗口并运行了应用程序。