Seite 1 von 1

QProgressBar Farbe ändern

Verfasst: 14. Dezember 2010 09:49
von darkshine
Guten Morgen,

ich würde gerne bei meinem Fortschrittsbalken die Farbe von Grün nach Blau ändern.
Ich habe praktisch alles auf Blau geändert

Code: Alles auswählen

QPalette *palette = new QPalette;
palette->setColor(QPalette::Window, Qt::blue);
palette->setColor(QPalette::Background, Qt::blue);
palette->setColor(QPalette::WindowText, Qt::blue);
palette->setColor(QPalette::Foreground, Qt::blue);
palette->setColor(QPalette::Base, Qt::blue);
palette->setColor(QPalette::Text, Qt::blue);
ui.progressBarAuto->setPalette(*palette);
ui.progressBarAuto->setValue(50);
Aber da wird nichts, aber auch gar nichts blau :(

Vielen Dank

Verfasst: 14. Dezember 2010 10:13
von Giesbert
Probiers mal mit style sheet, da geht es:
http://doc.qt.nokia.com/4.7/stylesheet- ... rogressbar

Verfasst: 14. Dezember 2010 10:32
von franzf
Und bitte hör auf Java zu programmieren :P
Das ist C++, da braucht man nicht überall new. Du produzierst hier ein wunderschönes Speicherleck.
Auch wenn das Beispiel nicht funktioniert, ist es so rum besser:

Code: Alles auswählen

QPalette palette = ui.progressBarAuto->palette(); // so passen wir nur das an, was wir brauchen.
palette.setColor(QPalette::Window, Qt::blue);
palette.setColor(QPalette::Background, Qt::blue);
palette.setColor(QPalette::WindowText, Qt::blue);
palette.setColor(QPalette::Foreground, Qt::blue);
palette.setColor(QPalette::Base, Qt::blue);
palette.setColor(QPalette::Text, Qt::blue);
ui.progressBarAuto->setPalette(palette);
ui.progressBarAuto->setValue(50);