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 :

Couleur de fond avec un QColor


Sujet :

Qt

  1. #1
    Membre habitué Avatar de Furr
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Points : 171
    Points
    171
    Par défaut Couleur de fond avec un QColor
    Bonjour à tous,

    Je cherche aujourd'hui à assigner une couleur de fond à un QLabel, mais cela à partir d'un objet QColor, récupéré à partir de la QColorDialog...
    Je n'arrive pas à obtenir ma couleur, je n'arrive pas à bien formater mon styleSheet... Pouvez-vous m'éclairer ?

    Je dispose d'une méthode "toString" qui convertit mes entiers en string

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void modifyColorSlot()
    {
      QColor newColor = QColorDialog::getColor(QColor(), this, "SELECT A COLOR");
      string s = "background-color : #" + toString(newColor.red())
        + toString(newColor.green())
        + toString(newColor.blue());
      ui.colorLabel->setStyleSheet(s.c_str());
    }

    Merci à vous

  2. #2
    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 617
    Points
    15 617
    Par défaut
    Bonjour Furr

    C'est quoi string ? C'est std::string ?
    Si tu convertis bien tes valeurs en hexadécimale, ça devrait (à priori) fonctionner. Ajoute un pour savoir ce qui est passé exactement à au stylesheet.

    Mais si tu utilises Qt, autant l'utiliser aussi pour les string (QString). Et QColor possède déjà une fonction pour la conversion en QString :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QColor newColor = QColorDialog::getColor(QColor(), this, "SELECT A COLOR");
    setStyleSheet("background-color:" + newColor.name());
    C'est plus simple

  3. #3
    Membre habitué Avatar de Furr
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Points : 171
    Points
    171
    Par défaut
    Salut gbdivers, merci pour la réponse.

    Oui, string c'est std::string, et j'utilise l'objet standard plutôt que l'objet Qt par habitude de m'affranchir un maximum de Qt.
    Mais du coup, j'ai pas fait attention à cette méthode name()...

    Et du coup, eh bien avec cette méthode, ça fonctionne très bien... Merci beaucoup

  4. #4
    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 617
    Points
    15 617
    Par défaut
    j'utilise l'objet standard plutôt que l'objet Qt par habitude de m'affranchir un maximum de Qt.
    Ce n'est pas forcement une mauvaise chose de minimiser les dépendances, surtout si ton code est bien organisé en modules. Mais dans ton cas, tu utilises QColorDialog et tu dois donc forcement dépendre de QtCore et QtGui. Donc pas d'états d'âmes, tu peux y aller à fond.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de couleur de fond avec TabControl
    Par Uren dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 08/08/2008, 16h56
  2. Pb avec la couleur de fond d'un wxStaticText
    Par oxilium dans le forum wxWidgets
    Réponses: 2
    Dernier message: 22/03/2007, 16h11
  3. Réponses: 1
    Dernier message: 06/12/2005, 22h23
  4. Réponses: 1
    Dernier message: 30/11/2005, 14h57
  5. [JTable] Problème avec la couleur de fond
    Par ellocin dans le forum Composants
    Réponses: 5
    Dernier message: 13/09/2005, 23h07

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