QLabel roter Text?

Alles rund um die Programmierung mit Qt
Antworten
Andy2211
Beiträge: 65
Registriert: 29. September 2008 23:02

QLabel roter Text?

Beitrag 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
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

pLabel->setStyleSheet("QLabel { color: red }");

ist eine Möglichkeit
Exasperation
Beiträge: 186
Registriert: 11. März 2009 18:00
Wohnort: VS

Beitrag 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 );
Andy2211
Beiträge: 65
Registriert: 29. September 2008 23:02

Beitrag 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
Exasperation
Beiträge: 186
Registriert: 11. März 2009 18:00
Wohnort: VS

Beitrag 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 :)
Andy2211
Beiträge: 65
Registriert: 29. September 2008 23:02

Beitrag 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
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

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