pyqt中QTableWidget的勾选框,怎么获取他的勾选状态?

clipboard.png
如图,这个勾选状态应该怎么获取呀?

下面是创建代码,不知道获取代码应该怎么写,求大神指导下

for i in xrange(len(friends)):
    #插入行
    row_count = self.friendTable.rowCount()
    self.friendTable.insertRow(row_count)
    # 插入内容
    # self.friendTable.setItem(0,1, QTableWidgetItem(unicode(friend['NickName'], 'gb2312', 'ignore')))
    #插入单选框
    checkBox = QTableWidgetItem(unicode(friends[i]['UserName']));
    #设置单选框为选中
    checkBox.setCheckState(Qt.Checked);
    self.friendTable.setItem(i,0, checkBox)
    self.friendTable.setItem(i,1, QTableWidgetItem(unicode(friends[i]['NickName'])))
    self.friendTable.setItem(i,2, QTableWidgetItem(unicode(friends[i]['RemarkName'])))
阅读 17.9k
4 个回答

有没有类似与getchecked的函数你看看

用QTableWidgetItem::checkState()方法。
插入单选框的时候,把checkBox变量保存下来(比如存到self.lst_chkbox中)

# 事先从QtCore import属性Qt.Unchecked等
self.lst_chkbox[0].checkState() == Qt.Unchecked
self.lst_chkbox[1].checkState() == Qt.PartiallyChecked
self.lst_chkbox[2].checkState() == Qt.Checked

isChecked()是你需要的

新手上路,请多包涵

item=self.tableWidget.item(9,0)(表格名:tableWidget,tableWidget表格(9,0)单元格)
print(item.checkState())
打印状态,勾选时非0,未勾选为0

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题