Seite 1 von 1
QLabel roter Text?
Verfasst: 25. August 2009 13:19
von Andy2211
Hi,
wollte den Text von dem QLabel rot einfärben.
Leider scheitere ich im Moment mit verschiedenen Ansätzen daran.
Das letzte was ich probiert habe sieht so aus:
Code: Alles auswählen
pal.setBrush(QPalette::Normal, QPalette::WindowText, QBrush(QColor(255, 0, 0)));
pal.setBrush(QPalette::Normal, QPalette::Text, QBrush(QColor(255, 0, 0)));[
Könnt Ihr mir ein paar Tips geben?
Gruß,
Andy
Verfasst: 25. August 2009 13:26
von archer
pLabel->setStyleSheet("QLabel { color: red }");
ist eine Möglichkeit
Verfasst: 25. August 2009 13:35
von Exasperation
Hm also in dem Programm an dem ich grade dran bin, färbe ich auch den Text von Labels, ich mach es allerdings mit setColor und nicht mit setBrush...
Code: Alles auswählen
QPalette pal = this->palette();
pal.setColor( QPalette::WindowText, Qt::red );
this->setPalette(pal);
Worauf ich nur achten musste war, dass wenn ich das auf mein main_window anwende, z.B. eine QGroupBox davon nicht beeinflusst wurde, sodass ich die dann noch manuell zuweisen musste...
Vielleicht isses bei dir ja sowas ähnliches...
/edit:
bzw in deinem Fall:
Code: Alles auswählen
pal.setColor( QPalette::WindowText, QColor(255, 0, 0) );
oder
Verfasst: 25. August 2009 13:49
von Andy2211
Hi,
danke erstmal für die Tips!
@Exasperation:
so wie du das machst werden aber alle Labels rot gefärbt oder?
Dein oberer Code ist ja im Window? Und m_selection_box wahrscheinlich dann dein Label?
Gruß,
Andy
Verfasst: 25. August 2009 13:53
von Exasperation
Jap da werden alle Labels eingefärbt...
Und die m_selection_box ist ne QGroupBox...
Habs grad mal ausprobiert, du kannst auch direkt deinem Label das du einfärben willst eine Palette zuweisen

Verfasst: 25. August 2009 13:58
von Andy2211
Hi,
weiß jetzt warum es nicht funkioniert hat.
Bei mir war this nicht das Fenster sondern eine Kindklasse von QLabel, wenn this das Fenster ist funktioniert es.
Gruß,
Andy
Verfasst: 25. August 2009 15:22
von RHBaum
Jedes QWidget hat ne eigene Palette ... die kopiert es vom parent.
und kann von styles und manuell ueberschrieben werden
Um hinter solche prinzipien zu kommen, isses nuetzlich mal im designer sich nen fenster mit z.b. bunten labels zu bauen (ja da kann man auch die palette beeinflussen).
dann project kompilieren ... und sich den code anschauen (/GeneratedFiles) der aus der .ui mittels dem uic erzeugt wurde. Ist oft sehr aufschlussreich
Warum nutzt ihr eigentlich den designer nich ?
Ciao....