Comment puis-je déterminer si l'élément est sélectionné ou non dans la fonction de la peinture () de QItemDelegate?
-
19-09-2019 - |
Question
Je fais une table à l'aide QItemDelegate. J'utilise la peinture (..) méthode pour dessiner des éléments délégués à regarder la même chose quand ils sortent du mode d'édition, mais je dois aussi tirer les éléments différemment quand ils sont sélectionnés ou non, et la méthode de peinture est aussi appelée lors de ces événements. Ma question est de savoir comment puis-je savoir quand tirer qui?
merci.
La solution
La méthode QItemDelegate.paint
accepte QStyleOptionViewItem
en tant que paramètre, qui est héritée de QStyleOption
. QStyleOption
a une variable membre nommé state
de type QStyle::State
. L'un des indicateurs de bits possibles pour l'état est QStyle::State_Selected
, qui est ce que vous voulez tester.