QTableView是表格视图,可以像excel一样的显示数据,如下图:
详细代码:
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sysclass TableView(QWidget):def __init__(self, arg=None):super(TableView, self).__init__(arg)self.setWindowTitle("QTableView表格用法")self.resize(500,300);#4行3列self.model = QStandardItemModel(4,3)#设置表头self.model.setHorizontalHeaderLabels(['id','姓名','年龄'])self.tableview = QTableView()self.tableview.move(20,20)# 列宽自适应充满表格self.tableview.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)# 关联QTableView控件和Modelself.tableview.setModel(self.model)# 添加数据item11 = QStandardItem('10')item12 = QStandardItem('张三')item13 = QStandardItem('123')self.model.setItem(0,0,item11) #第一行第一列self.model.setItem(0,1, item12) #第一行第二列self.model.setItem(0,2, item13) #第一行第三列layout = QVBoxLayout()layout.addWidget(self.tableview)self.setLayout(layout)if __name__ == '__main__':app = QApplication(sys.argv) table = TableView()table.show()sys.exit(app.exec_())
使用前需要设置model,用model设置表格的行数,列数,表格等。表格的列和宽可以自己指定,也可以自动填满列宽。