纳速健身

标题: pyqt5 QTableView 添加 checkbox (二)checkbox选择框状态单独列分离版 [打印本页]

作者: awagink    时间: 2021-1-11 15:39
标题: pyqt5 QTableView 添加 checkbox (二)checkbox选择框状态单独列分离版

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_())
复制代码


效果如下:

(, 下载次数: 0)









欢迎光临 纳速健身 (https://www.nasue.com/) Powered by Discuz! X3.4