PyQt5基础学习-QTableView(表格视图) 1. QStandardItemModel(设置模型) 2. QStandardItemModel(),setHorizontalHeaderLabels([设置表格的头属性]) 3.QTableView().setModel(设置模型) 4.QStandardItem(表格内容)

首先设置model,用于设置表头属性和填充表格内容, 然后使用QTableView将model填充到表格内

"""
显示二维表数据(QTableView控件)
数据源

Model
需要创建QTableView实例和一个数据源(Model), 然后将两者关联

MVC: Model Viewer Controller

MVC的目的是将后端的数据和前端页面的耦合度降低
"""

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sys

class TableView(QWidget):
    def __init__(self):
        super(TableView, self).__init__()
        self.setWindowTitle("QTableView表格试图控件演示")
        self.resize(500, 300)
        
        #设置表格的行列数
        self.model = QStandardItemModel(4, 3)
        #设置表头
        self.model.setHorizontalHeaderLabels(['id', '姓名', '年龄'])

        self.tableview = QTableView()
        #关联QTableView控件和Model
        self.tableview.setModel(self.model)

        #添加数据
        item11 = QStandardItem("10")
        item12 = QStandardItem("雷神")
        item13 = QStandardItem("2000")
        self.model.setItem(0, 0, item11)
        self.model.setItem(0, 1, item12)
        self.model.setItem(0, 2, item13)

        item31 = QStandardItem("30")
        item32 = QStandardItem("死亡女神")
        item33 = QStandardItem("3000")
        self.model.setItem(2, 0, item31)
        self.model.setItem(2, 1, item32)
        self.model.setItem(2, 2, item33)


        layout = QVBoxLayout()
        layout.addWidget(self.tableview)
        self.setLayout(layout)

 

posted @ 2022-02-01 22:08  c语言我的最爱  阅读(3703)  评论(0编辑  收藏  举报