Hallo alle miteinander,
ich habe derzeit ein Problem beim Colorieren meiner Anwendung.
Ich habe mehrere QLabel, die in einem QGridLayout angeordnet sind.
Diesen weise ich nun eine QPalette zu, bei der die Textfarbe auf Grün gesetzt ist.
Dummerweise zeigen die QLabels keinen Text an, beziehungsweise er ist Schwarz auf Schwarz.
Das zweite Problem ist ein QTextEdit. Ich möchte erreichen, dass dessen Textfarbe ebenfalls grün ist. Wenn ich jedoch mit der entsprechenden Funktion die Farbe setzte, bleibt sie weiterhin schwarz. (QTextEdit wurde ebenfalls eine QPalette mit grüner Schriftfarbe zugeordnet)
Das mittlerweile dazugekommene dritte Problem ist die Textfarbe in einem QTextBrowser. Auch diese ist per QPalette auf Grün gesetzt, bleibt jedoch weiterhin schwarz.
Wenn jemand eine Idee hat, wie man das beheben könnte, wäre ich sehr dankbar.
Danke im Voraus und Ciao,
Prof. MAAD
[gelöst]Textfarbe bei QLabel und QTextEdit
[gelöst]Textfarbe bei QLabel und QTextEdit
Zuletzt geändert von prof_maad am 6. Oktober 2005 22:47, insgesamt 2-mal geändert.
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
Hi ..
versuch es doch mal mit
oder was immer Du für eine Farbe willst
Ausserdem kannst Du in QLabel und QTextEdit den Text als richttext darstellen und dann auch farblich bestimmen
Gruss Arne
PS.: kann ich aber nur für QT 3.x mit Sicherheit sagen
versuch es doch mal mit
Code: Alles auswählen
pTextEdit->setPaletteForegroundColor(QColor(0,255,0));Ausserdem kannst Du in QLabel und QTextEdit den Text als richttext darstellen und dann auch farblich bestimmen
Code: Alles auswählen
"Das ist ein <font color =#00ff00>grüner Text</font>"PS.: kann ich aber nur für QT 3.x mit Sicherheit sagen
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
.. dann schreib sie Dir selbst
Florian hat Dir in einem parallelen Thread einen Link auf eine ähnliche Funktion (nur mit BackgroundColor) gesetzt.
Bitte die Anworten auch lesen ...
Gruss Arne
Code: Alles auswählen
void SetWidgetForegroundColor(QWidget* pWidget,const QColor &color)
{
if ( (pWidget != NULL) &&
(color.isValid() == true) )
{
QPalette palette = pWidget->palette();
palette.setColor(QPalette::Foreground,color);
pWidget->setPalette(palette);
pWidget->repaint();
}
}
Bitte die Anworten auch lesen ...
Gruss Arne
So, dass Problem ist jetzt eigenhändig gelöst.
Entscheidend war, dass alle drei Elemente nur PlainText enthielten, weßhalb QT sie auch so interpretierte. Deßhalb ignorierte er auch alle Formatangaben von Außen, auch die der QPalette.
Nach dem ich bei allen dafür gesorgt hatte, dass Qt sie als HTML interpretiert, ist die Textfarbe vollkommen richtig.
Danke trotzdem für die Hilfe,
Ciao,
Prof. MAAD
Entscheidend war, dass alle drei Elemente nur PlainText enthielten, weßhalb QT sie auch so interpretierte. Deßhalb ignorierte er auch alle Formatangaben von Außen, auch die der QPalette.
Nach dem ich bei allen dafür gesorgt hatte, dass Qt sie als HTML interpretiert, ist die Textfarbe vollkommen richtig.
Danke trotzdem für die Hilfe,
Ciao,
Prof. MAAD