Et j'ai remarqué qu'en faisant en 1 ligne de code ça marche, mais il faut également faire en une seule ligne car sinon le compilo n'est pas content du fait qu'il y'ait un caractère " seul sur la ligne. J'espère que je suis clair.
Enfin, je n'arrive pas à créer mes propre QColor.
Je fais :
1) Oui tu est obligé, pas en une ligne mais en une instruction, donc tu peux faire :
this->setStyleSheet("QPushButton{background: red}" // Ne pas oublier les double quotes
"QLineEdit{background: red}");
Pour t'aider à comprendre, ce que tu as fait c'est exactement comme si tu faisais :
QPusButton *button = new QPushButton;
button->setText("Hello ");
button->setText("world!"); // Le bouton aura pour texte "world!" et pas "Hello " ni "Hello world!"
2) Tout à fait normal, setStyleSheet prend une QString en paramètre, donc une chaine de caractères.
Et tu ne peux pas mélanger une variable avec une chaine de caractères (elle sera prise pour du texte).
Tu pourrais faire :
"QLineEdit{background: " + maCouleur + "}"
Mais maCouleur est de type QColor et pas QString, donc ça marchera pas.
Le plus simple serait donc de mettre une valeur HTML :
"QLineEdit{background: #123456}"
De plus tu pourras dans ce cas y mettre une variable (de type QString) :
QString html = "123456"; // Attention à mettre les double quotes, ce n'est pas un entier ici
"QLineEdit{background: #" + html + "}"
Et donc avec un entier :
int html = 123456; // Attention à ne PAS mettre les double quotes
"QLineEdit{background: #" + QString::number(html) + "}" // QString::number() pour "transformer" un entier en chaine de caractères
Apparemment non car .name() retourne une valeur de format #RRGGBB.
J'ai essayé .setNamedColor mais je comprends mal son intérêt. Bref, merci tout de même
Ce qui si tu regardes bien, ton "maCouleur.name()" est entre les guillemets : resultat le compilateur l'envoie directement en tant que chaine dans le bazar sans recuperer le contenu de ta variable.
En revanche en fait ça :
"QLineEdit{background:"+ maCouleur.name()+ ";}"
Le compilo commence par créer une nouvelle chaine avec le contenu de ta variable à la place de ta variable.
J'aimerais faire un dégradé pour la couleur de fond. Possible ?
Je me disais qu'il y'avait peut-être moyen de créer une "QColor dégradée". Mais je ne trouve pas.
Merci
Et c'est quoi le gradientEditor ?
Edit :
J'ai bien trouvé le QLinearGradient, cependant je ne sais comment l'appliquer dans mon :
Je ne comprends pas bien encore les paramètres du qlineargradient mais je vais voir ça.
[Qt] setStyleSheet et QColor
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C