Bonjour,

Je reviens de réaliser une application, utilisant un QTreeView. Pour gérer le couleur de l'arrière plan, j'utilise un QItemDelegate, mais je n'arrive pas à le comprendre.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class ColorDelegate(QItemDelegate):
    def __init__(self, parent=None, *args):
        QItemDelegate.__init__(self, parent, *args)
 
    def paint(self, painter, option, index):
 
        painter.save()
        value = index.data(Qt.DisplayRole)
        if value.isValid():   
            painter.setBrush(QBrush(Qt.red))
            painter.drawRect(option.rect)                    
 
        painter.setPen(QPen(Qt.black))
        value = index.data(Qt.DisplayRole)
        if value.isValid():
            text = value.toString()
            painter.drawText(option.rect, Qt.AlignLeft, text)
 
        painter.restore()
Le comportement que je souhaite, c'est lorsque la valeur est un flottant et supérieur à un certain seuil, la couleur de l’arrière plan devienne rouge. la fonction isFloat() de Qvariant ne fonctionne pas.

Pouvez - vous m'aider ?