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...

Code: Alles auswählen

m_selection_box->setPalette(pal);
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

Code: Alles auswählen

pal.setColor( QPalette::WindowText, Qt::red );

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....