我创建了一个QListWidget,我希望在应用程序的特定位置使其元素可选(我需要它用于特定的应用程序,在该应用程序中,用户在单击列表上的主要元素并选择辅助元素时,需要勾选它们的框)。 我可以让元素可选,但我找不到撤消这个操作并删除复选框的解决方案... 我做了这个:
for i in range(self.listWidget.count()):
item=self.listWidget.item(i)
item.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled)
item.setCheckState(QtCore.Qt.Unchecked)
但是我遇到了困难......我试过:
tmp=self.listWidget.takeItem(i)
self.listWidget.addItem(tmp)
但是这个项目带着它的复选框回来了 :( 我可以简单地销毁该项目,然后再重新放置,但这可能会是一种繁重的处理!有什么解决方案吗?
谢谢!
.setFlags
是什么意思? - www.pieronigro.desetFlags()
函数是做什么的吗?如果是的话,它只是设置一个枚举Qt::ItemFlag,用于表示控件的特定属性。 - Viv