Пример #1
0
 def updateQuestions(self):
     self.qListWidget.disconnect()
     self.qListWidget.clear()
     for q in data.questions:
         i = QListWidgetItem(data.questions[q], self.qListWidget)
         i.setFlags(i.flags() | 2)
         i.qId = q
     self.selectAgent(0, 0)
     self.qListWidget.itemChanged.connect(self.updateQuestion)
Пример #2
0
 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)
Пример #3
0
 def nextQuestion(self):
     self.listWidget.disconnect()
     try:
         a = self.aList[self.currentQ]
         i = QListWidgetItem(self.listWidget)
         i.qId = self.qList[self.currentQ][0]
         i.qN = self.currentQ
         i.setText(self.qList[self.currentQ][1])
         i.setCheckState(1 + a.a)
         i.setFlags(i.flags() | 256)  # tristate
     except:
         pass
     self.currentQ += 1
     try:
         self.label_question.setText(self.qList[self.currentQ][1])
     except:
         self.label_question.setText("Plus aucune question")
     self.listWidget.itemChanged.connect(self.updateAnswer)
     self.updateAgents()