课时64.显示二维表数据(QTableView控件)
"""
显示二维表数据 (QTableView控件)
数据源 Model
需要创建QTableView实例和一个数据源(Model), 然后将两者关联
MVC: Model Viewer Controller
"""
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sys
class TableView(QWidget):
    def __init__(self, arg=None):
        super(TableView, self).__init__(arg)
        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)
        #  增加数据
        item_11 = QStandardItem("10")
        item_12 = QStandardItem("普京")
        item_13 = QStandardItem("70")
        self.model.setItem(0, 0, item_11)
        self.model.setItem(0, 1, item_12)
        self.model.setItem(0, 2, item_13)
        layout = QVBoxLayout()
        layout.addWidget(self.tableview)
        self.setLayout(layout)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    tableView = TableView()
    tableView.show()
    sys.exit(app.exec_()) 

"""
显示二维表数据 (QTableView控件)
数据源 Model
需要创建QTableView实例和一个数据源(Model), 然后将两者关联
MVC: Model Viewer Controller
"""
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sys
class TableView(QWidget):
    def __init__(self, arg=None):
        super(TableView, self).__init__(arg)
        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)
        #  增加数据
        item_11 = QStandardItem("10")
        item_12 = QStandardItem("普京")
        item_13 = QStandardItem("70")
        self.model.setItem(0, 0, item_11)
        self.model.setItem(0, 1, item_12)
        self.model.setItem(0, 2, item_13)
        item_31 = QStandardItem("30")
        item_32 = QStandardItem("乌克兰")
        item_33 = QStandardItem("30")
        self.model.setItem(2, 0, item_31)
        self.model.setItem(2, 1, item_32)
        self.model.setItem(2, 2, item_33)
        layout = QVBoxLayout()
        layout.addWidget(self.tableview)
        self.setLayout(layout)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    tableView = TableView()
    tableView.show()
    sys.exit(app.exec_()) 
 
 










