Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/03/2011, à 04:35

MrWaloo

[Résolu] QtDesigner: Quel composant pour un aperçu de couleur ?

Bonjour,

Je me mets à la programmation Python3 + Qt4.
Histoire de me faire la main, je programme des exercices proposés dans un livre (Apprendre à programmer avec Python3)
Un exercice propose de développer une application avec une gestion de couleurs. Des exemples sont donnés avec gtk, mais moi, je veux utiliser Qt parce que c'est plus sympa avec  QtDesigner.

Je ne trouve pas de moyen simple d'afficher un rectangle dont je peux changer la couleur en passant les composantes RGB (Red, Green, Blue).
J'ai essayé un graphicsView, mais il lui faut un QPainter pour être configuré, qui lui a besoin d'un QGraphicsScene ...
Bref ça fait beaucoup juste pour afficher un rectangle coloré !
Sans me donner la solution complète, comment mettre un rectangle coloré en place (du type de celui dans la fenêtre QtGui.QColorDialog.getColor() ) dont on peut changer la couleur ?
La correction de l'exercice en gtk le fait avec un label dont il change la propriété bg, mais un QFrame ne peut être coloré, si ce que je vois est correcte...

Merci
Michel

Dernière modification par MrWaloo (Le 20/03/2011, à 16:19)


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#2 Le 20/03/2011, à 15:03

Teofifil

Re : [Résolu] QtDesigner: Quel composant pour un aperçu de couleur ?

Bonjour,

Un QFrame peut être coloré via la méthode de classe : setStyleSheet(QString). Tu trouveras des exemples ici

Hors ligne

#3 Le 20/03/2011, à 16:19

MrWaloo

Re : [Résolu] QtDesigner: Quel composant pour un aperçu de couleur ?

Merci Teofifil,

C'est effectivement l'information qu'il me fallait.
Voilà comment j'ai résolu mon problème :

self.ui.graphicsViewResultat.setStyleSheet("background-color: rgba({0}, {1}, {2}, {3})".format(self.ui.spinBoxRouge.value(), self.ui.spinBoxVert.value(), self.ui.spinBoxBleu.value(), self.ui.spinBoxAlpha.value()))

En sachant que les spinBox contiennent une valeur entre 0 et 255 et que la couleur est appliquée dès modification d'un des spinBox.

Encore merci à toi Teofifil
A+

Dernière modification par MrWaloo (Le 20/03/2011, à 16:20)


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne