pyqt5 QTableView表格复选框

复制代码
# coding=utf-8
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class Table(QWidget):
    def __init__(self,parent=None):
        super(Table, self).__init__(parent)
        #设置标题与初始大小
        self.setWindowTitle('QTableView表格复选框案例')
        self.resize(500,300)
        self.tableView=QTableView()
        self.model = QStandardItemModel(self.tableView)

        #设置数据层次结构,4行4列
        self.model=QStandardItemModel(4,4)
        t = QCheckBox(self)
        #设置水平方向四个头标签文本内容
        self.model.setHorizontalHeaderLabels(['状态','姓名','身份证','地址'])

        for row in range(4):
            for column in range(4):
                item_checked = QStandardItem()
                item_checked.setCheckState(Qt.Checked)
                item_checked.setCheckable(True)
                self.model.setItem(column,0, item_checked)
                item=QStandardItem('row %s,column %s'%(row,column))
                #设置每个位置的文本值
                self.model.setItem(row,column,item)

        self.tableView.setModel(self.model)
        #设置布局
        layout=QVBoxLayout()
        layout.addWidget(self.tableView)
        self.setLayout(layout)

if __name__ == '__main__':
    app=QApplication(sys.argv)
    table=Table()
    table.show()
    sys.exit(app.exec_())
复制代码

 

posted @   modentime  阅读(1901)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示