课时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_())