Bonjour,
Dans mon application j'ai beaucoup de QAction qui utilisent une icone png.
J'aimerai appliquer un leger dégradé de transparence sur ces icones... Comment m'y prendre au plus simple ?
Merci !
Bonjour,
Dans mon application j'ai beaucoup de QAction qui utilisent une icone png.
J'aimerai appliquer un leger dégradé de transparence sur ces icones... Comment m'y prendre au plus simple ?
Merci !
Bonjour
Le plus simple : lancer ton application de dessin préférée et créer une icone avec la transparence
Pour que l'interface graphique reste fluide, il est préférable de ne pas modifier dynamiquement les icônes (je pense même qu'il y a un système de mise en cache des icônes pour accélérer leurs affichage)
Si tu veux quand même le faire (par exemple, si tu veux donner la possibilité à un utilisateur de paramétrer la transparence des icônes dans ton application), il faut convertir ton icône en QPixmap, créer un QPainter sur ce QPixmap et dessiner/modifier la transparence.
Et l'idéal sera alors de pré-calculer les icônes modifiées (au démarrage de l'application ou lors du premier affichage) et peut être aussi les enregistrer
Merci !
Finalement j'ai choisis une solution intermédiaire, je n'avais pas besoin de transparence dynamique mais je voulais me reserver la possibilité de changer la transparence sur un coup de tete (j'utilise beaucoup les stylesheet par exemple) sans avoir a me retaper manuellement la modification de toutes les icones.
J'ai donc créé une icone "transparence" qui contient des niveaux de gris que j'applique en alpha sur chaque icone utilisée... Ca me donne également la liberté de faire des formes personnalisées de transparence (pour donner des effets glossy par exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 QPixmap icon(QString path) { QPixmap Icon=QPixmap(path); Icon.setAlphaChannel(QPixmap(":/icons/Transparency.png")); return Icon; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager