IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Changer l'opacité d'un widget sans Graphics Effects


Sujet :

Qt

  1. #1
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut Changer l'opacité d'un widget sans Graphics Effects
    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.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut.
    Tu peux utiliser un QGraphicsScene?

  3. #3
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Où est-ce que tu as vu que c'était déprécié ?

  4. #4
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    Citation Envoyé par Troudhyl Voir le message
    Où est-ce que tu as vu que c'était déprécié ?
    http://qt-project.org/wiki/Qt_Modules_Maturity_Level

    Graphics Effects
    State: Deprecated
    Reasoning: flawed design, we don’t recommend taking maintainership of this code.
    Citation Envoyé par yan Voir le message
    Salut.
    Tu peux utiliser un QGraphicsScene?
    Je préférais pas pour si peut, surtout que c'est déjà codé, il faut juste faire l'opacité sur les enfants.

  5. #5
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Comme je l'ai déjà dit ailleurs, cette liste date de 2011, donc complètement obsolète (époque Nokia). A mon avis, pose la question sur la mailling list, je suis pas sur que ça soit pertinent de se baser dessus
    (EDIT : fait)

    Pas compris ? Pourquoi pas utiliser windowOpacity ? http://qt-project.org/doc/qt-5.0/qtw...owOpacity-prop

Discussions similaires

  1. [CSS 2.1] Changer l'opacité d'une cadre, sans toucher à son texte
    Par Otyugh dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 16/04/2010, 15h43
  2. [Dvp.NET|A intégrer] Changer la SelectionFont d'un RichTextBox sans redéfinir la Font
    Par Matthieu MEZIL dans le forum Contribuez
    Réponses: 1
    Dernier message: 15/01/2007, 22h15
  3. [AJAX] Changer l'url de la page sans rafraichir la page
    Par bonjour69 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/11/2006, 09h56
  4. Réponses: 11
    Dernier message: 08/11/2006, 12h50
  5. Changer la police avec un select, sans recharger la page
    Par Netoman dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/12/2004, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo