[Qt] La couleur de bordure d'un QFrame

Fermé
Sya - 21 févr. 2012 à 09:24
Sya22 Messages postés 6 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 28 juillet 2012 - 29 févr. 2012 à 11:41
Bonjour,

Comme le precise le titre, j'aimerai savoir comment modifier la couleur de bordure d'un QFrame, si c'est possible.
J'ai essayé avec
frame->setStyleSheet("color:red");
par exemple et ça ne marche pas!
Quelqu'un pourrait - il m'aider?
Merci d'avance!

PS: Je ne sais pas si c'est important (les fonctions ou commandes changent en fonction de l'OS), mais je suis sous Ubuntu 11.10!

A voir également:

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
21 févr. 2012 à 10:35
As tu regarder la documantation de QFrame ?
Ils parlent d'utiliser QColorGroup.
Normalement, Qt ne dépend pas de l'OS. Après, si tu utilises ubuntu avec Unity, il y a peut être des problèmes, des choses qui ne sont pas supportées.
0
J'ai bien vu dans la doc et je ne sais pas comment utiliser QColorGroup!
Par contre j'ai trouvé ça:
QPalette::setColor(ColorGroup gr, ColorRole r, const QColor & c)

Mais ou suis-je censée l'integrer?
0
Sya22 Messages postés 6 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 28 juillet 2012
27 févr. 2012 à 11:45
Bonjour,

J'ai opté pour un QPainter avec des rectangles au lieu de Frames mais le problème est dans le fait que les rectangles dessinés ne restent pas, seul le dernier est affiché!

J'exécute une boucle qui appelle la fonction PaintEvent
QNewWidget *paint = new QNewWidget (this);
for (i=0; i<50; i++) {
...
paint.show();
...
}


et dans la méthode PaintEvent il y a:
void QNewWidget::paintEvent(QPaintEvent *e) {
   
    QPainter p(this);
    int couleur;
    if (dynamic) {
        couleur = (220+(2*numero))%255;
       p.setPen(QPen(QColor(couleur, 29, 50),2));
    }
    else {
        couleur = (146+(2*numero))%255;
        p.setPen(QPen(QColor(13, couleur, 63), 2));
    }

    p.setBrush(Qt::NoBrush);
    p.drawRect(y, x, Large, Lon);
}

Que devrais-je changer pour que tous les rectangles s'affichent correctement?
0
Sya22 Messages postés 6 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 28 juillet 2012
29 févr. 2012 à 11:41
Quelqu'un aurait-il l'amabilité de m'aider?
Please !!!!!!!!!!!
0