LabelText ->farbe ändern

Verschiedenes zu Qt
Antworten
bloedi
Beiträge: 26
Registriert: 24. Januar 2007 11:22

LabelText ->farbe ändern

Beitrag von bloedi »

Erneut eine simple Frage!

ich möchte ein Slider mit einem Label mit connect verbinden...

Normal in Designer mein Label hat den Text Blau, bold....

aber ...wenn ich den Slider bewege meine Einstellungen von Designer sind weg und ich sehe die normale "default " Schrift(schwarz und klein und häslich)
Also ich versuche mir ein "klugeren " Slot selbst zu basteln anstatt setNum(int)

so ändere ich die Schriftart und die Große:

Code: Alles auswählen

QFont f("Helvetica", 8, QFont::Bold);
 MyLabel->setFont(f);
Wie ändere ich die Farbe des Labeltextes in blau??

gibt es eine andere Lösung??
DANKE!!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

QPalette pal=MyLabel->palette();
pal->setColor(QPalette::WindowText, QColor(Qt::blue));
MyLabel->setPalette(pal);
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

nicht getestet bei qt4, aber ging das nicht auch mit html-tags?
müsste dann so in etwa aussehen:

Code: Alles auswählen

myLabel->setTextFormat( Qt::RichText );
myLabel->setText( tr( "[color=red]%1[/font]" ).arg( myLabel->text() ) );
mfg,
julian
Zuletzt geändert von -=Freaky=- am 23. Februar 2007 14:58, insgesamt 1-mal geändert.
bloedi
Beiträge: 26
Registriert: 24. Januar 2007 11:22

Beitrag von bloedi »

@ Freaky leider funktioniert es nicht

@upsala Danke! es geht mit einer Korrektur:

Code: Alles auswählen

QPalette pal=MyLabel->palette();
pal.setColor(QPalette::WindowText, QColor(Qt::blue));
MyLabel->setPalette(pal); 
mfg carmen
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

sorry, ist klar, warum das nicht funktionieren KANN.
so aber vlt.

Code: Alles auswählen

myLabel->setTextFormat( Qt::RichText );
myLabel->setText( tr( "[font color=red]%1[/font]" ).arg( myLabel->text() ) );
mfg,
julian
Antworten