Alle Widget Farbe ändern

Alles rund um die Programmierung mit Qt
Antworten
Fuxi
Beiträge: 25
Registriert: 24. Mai 2011 20:58

Alle Widget Farbe ändern

Beitrag von Fuxi »

Hallo,
kann man in einer Schleife oder alle Widget´s in einem UI:: ändern ?

Beispiel:

Ich habe 10 lineedit´s 1 - 10
5 Comboboxen 1- 5

Kann ich jetzt in einer Schleife die Hintergrundfarbe aller ändern ?

Vielen Dank
Herzogswalder
Beiträge: 79
Registriert: 11. Oktober 2009 00:37
Wohnort: Dresden

Re: Alle Widget Farbe ändern

Beitrag von Herzogswalder »

Warum probierst es nicht bevor du fragst?
Gruß, Herzogswalder
Qt 4.8, OS X Mountain Lion
dazedly
Beiträge: 197
Registriert: 3. Oktober 2010 15:38
Kontaktdaten:

Re: Alle Widget Farbe ändern

Beitrag von dazedly »

Herzogswalder hat geschrieben:Warum probierst es nicht bevor du fragst?
Eventuell weil er nicht weiß wie er sie durch loopen kann?


Naja macht es wirklich sinn? Schau mal im Designer bei den Eigenschaften von den Widgets nach. Da müsste einen Punkt "Palette" geben. Die wird mit vererbt. Wenn du da die Background-Role veränderst, bekommen die Kinder die selbe Farbe.
Troll.Soft
Beiträge: 190
Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg

Re: Alle Widget Farbe ändern

Beitrag von Troll.Soft »

Code: Alles auswählen

		Widget->setStyleSheet("css code");
StyleSheets lösen Dein Problem perfekt.

tschüß
Troll.Soft
Fuxi
Beiträge: 25
Registriert: 24. Mai 2011 20:58

Re: Alle Widget Farbe ändern

Beitrag von Fuxi »

Vielen Dank für die Antworten. ( Außer die Erste )
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Alle Widget Farbe ändern

Beitrag von franzf »

Fuxi hat geschrieben:Vielen Dank für die Antworten. ( Außer die Erste )
Die erste war sehr wohl hilfreich. Ausprobieren ist immer der schnellste Weg zur Lösung, vor allem wenn man etwas lernen will (gut, stylesheets sind auch lustig, aber was wenn du mit stylesheets nicht weiter kommst und die QWidget-API brauchst?)
Du hättest jetzt fragen können, wie man das Problem angehen kann, dann hättest du als Antwort bekommen "QObject::findChildren() (Doku mit Beispiel!) und über die Liste iterieren", dann wäre (hoffentlich) alles klar gewesen.

Also in Zukunft bitte nicht sofort eingeschnappt auf Antworten reagieren, nur weil du nichts damit anfangen kannst oder weil sie keinen verwendbaren Code enthalten, sondern einfach nochmal nachdenken und die Frage genauer formulieren, bzw. sagen was dir nicht klar ist.
Antworten