def selectAgent(self, i, previousItem): i = self.treeWidget.currentItem() if i: self.ansListWidget.clear() if i.aId: self.ansListWidget.disconnect() ans = data.agents[i.aId].all_answers() for a in ans: li = QListWidgetItem( data.questions[a] + " (" + data.agents[data.agents[i.aId].answer_owner(a)].name + ")", self.ansListWidget) li.setCheckState(1 + ans[a]) li.setFlags(li.flags() | 256) # tristate li.qId = a li.aId = data.agents[i.aId].answer_owner(a) #if a not in data.agents[i.aId].answers.keys(): # li.setFlags(li.flags()^16) # Si la réponse concerne un agent aïeul, on empêche les modifs self.ansListWidget.itemChanged.connect(self.updateAnswer)