返回顶部

[Python] [pyqt5]pyqt5中的tableWidget添加checkBox、comboBox和tableView中添加checkBox

[复制链接]
awagink 显示全部楼层 发表于 2021-1-12 09:33:50 |阅读模式 打印 上一主题 下一主题

添加checkBox
QTableWidgetItem有CheckState属性,既能显示QCheckBox,也能读取状态

  1. self.check = QtWidgets.QTableWidgetItem()
  2. self.check.setCheckState(QtCore.Qt.Unchecked)        #把checkBox设为未选中状态
  3. self.tableWidget.setItem(x,y,self.check)                #在(x,y)添加checkBox
复制代码


注:在我测试时发现,若tableWidget不止一行,则必须给每行每列元素进行赋值,如果某一行未赋值完就对下一行赋值,会出现奇怪的错误

  1. col=...

  2. #设定列数
  3. self.tableWidget.setColumnCount(col)

  4. self.check = QtWidgets.QTableWidgetItem()
  5. self.check.setCheckState(QtCore.Qt.Unchecked)
  6. self.tableWidget.setItem(x,y,self.check)

  7. #对该行其余元素赋值
  8. for i in range(col):
  9.         if i != y:
  10.                 self.tableWidget.setItem(x, i, QtWidgets.QTableWidgetItem('...'))
复制代码

由于是之前一段时间写的,这里就没有对错误进行复现,就当是做一个简单的记录

要是需要读取checkBox的状态

  1. #获取(x,y)的状态
  2. self.tableWidget.item(x,y).checkState()
复制代码


参考:QTableWidget中checkBox状态判断

添加comboBox
  1. comboBoxList=[...]

  2. comboBox=QtWidgets.QComboBox()
  3. comboBox.addItems(comboBoxList)
  4. self.tableWidget.setCellWidget(x,y,comboBox)        #在(x,y)添加comboBox
复制代码


要是需要读取comboBox的值

  1. #获取(x,y)的值
  2. self.tableWidget.cellWidget(x,y).currentText()
复制代码



tableView中添加checkBox
  1.                 # 方法一:setCellWidget方法,每一行的第一列加入checkbox,需要self.ui.tableWidget.cellWidget(0,0).isChecked()来检测选中状态
  2.                 checkbox = QCheckBox()
  3.                 # 将所有的复选框都添加到 全局变量 all_header_combobox 中
  4.                 all_header_combobox.append(checkbox)
  5.                 self.ui.tableWidget.setCellWidget(row_num, 0, checkbox)
复制代码


需要self.ui.tableWidget.cellWidget(0,0).isChecked()来检测选中状态
您需要登录后才可以回帖 登录 | 注册

本版积分规则

纳速健身网成立于2006年8月,是国内优秀健身运动网站,现拥浏览人数超30万。网站是集养生、武术、太极拳和健身气功等多种健身项目于一体的多功能交流平台。平台提供大量优质的教学视频、伴奏音乐(太极拳晨练音乐,广场舞音乐,健身气功音乐)、图文教程、运动科普和经验分享,为健身爱好者提供完善的运动指导平台。
  • 纳速QQ群乙:151815303
  • 纳速QQ群丙:79104490
  • 微信交流群:微信好友搜索【nasuwang】加小纳微信进群交流健身知识,备注【纳速】
  •                     或者扫描页面底部右侧二维码添加小纳微信>>>
  • 微信公众号

  • 微信群客服交流

  • Copyright © 2006-2021, 纳速健身网. | | 辽ICP备13002388号-1 辽公安网备21050202000005号公安网备号 纳速武术-乙 QQ