Beispiel #1
0
 def display_question(self, question, answers, selected_index = None, correct = None):
     self._init_scene()
     x = 50
     y = 25
     item =  QGraphicsSimpleTextItem(question)
     item.setBrush(self.TEXT_COLOR)
     item.setFont(self.BOLDISH) 
     item.setX(x)
     item.setY(y)
     self.qtscene.addItem(item)
     self.references.append(item)
     y += 75
     
     for index, answer in enumerate(answers):
         index += 1
         item =  QGraphicsSimpleTextItem("%s) %s" % (index, answer))
         item.setBrush(self.TEXT_COLOR)
         item.setFont(self.NORMALISH) 
         item.setX(x)
         item.setY(y)
         item.setAcceptHoverEvents(True)
         self.qtscene.addItem(item)
         self.references.append(item)
         #TODO: do not register click but do show check or not
         if not selected_index:
             item.hoverEnterEvent = partial(self.on_hover_answer, item) 
             item.hoverLeaveEvent = partial(self.on_unhover_answer, item) 
             item.mousePressEvent = partial(self.on_click_answer, index) 
         elif selected_index == index:
             if correct:
                 item =  QGraphicsSimpleTextItem(u"\u2713")
                 item.setBrush(QBrush(QColor(0,150,0)))
                 item.setX(0)
             else:
                 item =  QGraphicsSimpleTextItem("X")
                 item.setBrush(QBrush(QColor(255,0,0)))
                 item.setX(3)
             item.setFont(self.BOLDISH)
             item.setY(y)
             self.qtscene.addItem(item)
             self.references.append(item)
             
         y += 50
     return x, y