我正在向QlistWidget添加复选框,如下所示
item = QtGui.QListWidgetItem(listWidget)
ch = QtGui.QCheckBox()
listWidget.setItemWidget(item, ch)
就像这里Can't change state of checkable QListViewItem with custom widget
但不知何故,当我想知道用户是否选中了复选框项时,我却无法将其取回。我一定是漏掉了一些非常基本的东西。
for index in xrange(listWidget.count()):
it=listWidget.itemAt(index,0)
所以我需要知道用户选中了列表中的哪些复选框?我不知道如何处理返回的列表项对象来获取复选框状态。我是否应该使用复选框回调?看起来更简单
发布于 2011-06-08 13:11:10
我不认为你想使用itemAt
来获取物品。从QListWidget文档中:
QListWidgetItem QListWidget.itemAt (self,int ax,int )
返回指向坐标(x,y)处的项的指针。
您可能需要QListWidget.item()
。使用它,您可以遍历列表项并获得检查状态,如下所示
for index in xrange(listWidget.count()):
check_box = listWidget.itemWidget(listWidget.item(index))
state = check_box.checkState()
https://stackoverflow.com/questions/6277113
复制