纳速健身

 找回密码
 注册

扫一扫,访问微社区

查看: 17|回复: 0

[Python] pyqt5 QTableView 添加 checkbox (二)checkbox选择框状态单独列分离版

[复制链接]
发表于 2021-1-11 15:39:15 | 显示全部楼层 |阅读模式

pyqt5 QTableView 添加 checkbox (二)
参考网址:

代码如下:




  1. # coding=utf-8
  2. import sys
  3. from PyQt5.QtCore import *
  4. from PyQt5.QtWidgets import *
  5. from PyQt5.QtGui import *

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

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

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

  28.         self.tableView.setModel(self.model)
  29.         #设置布局
  30.         layout=QVBoxLayout()
  31.         layout.addWidget(self.check_box)
  32.         layout.addWidget(self.tableView)
  33.         self.setLayout(layout)

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


效果如下:

check_box3.jpg




您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表