Bonjour à tous,
Je cherche à faire une animation d'opacité sur un widget sans utilisé QGraphicsOpacityEffect qui est déprécié dans Qt 5. Sur le long terme ce sera remplacé par du Qt Quick mais pour le moment je dois faire ça avec Qt Widget.
J'ai défini : Q_PROPERTY (double opacity READ opacity WRITE setOpacity)
J'ai fais un QPropertyAnimation sur le widget en changeant la valeur de opacity de 1.0 à 0.0.
J'ai redéfini le paintEvent et j'ai créé un QPainter sur lequel j'ai appliqué setOpacity(myOpacity).
Cela marche très bien pour toutes les fonctions que j'appel dans ce paintEvent. Cependant mon soucis est que ce widget ne se peint pas tout seul, il est composé d'un QLabel et d'une QProgressBar chargé par QUiLoader (je ne peux pas changer ça), et j'aimerais utilisé le QPainter et l'opacité courante (changé lors de l'animation), pour peindre ces 2 widgets.
Je n'ai pas encore trouvé comment faire ça, comment intervenir sur le QPainter d'objet qui compose mon widget.
Merci pour votre aide.
Partager