StylSheet Elemente
StylSheet Elemente
Hi, ich hoffe das Thema is noch nicht in Grund und Boden geredet worden,
ich hab zwar schon viel zu dem Thema hier gefunden, aber eben noch nicht die Lösung gefunden.
Ich bin gerade dabei mein Layout umzu"stylen".
Dabei hab ich ein paar Probleme, die richtigen Elemente zu adressieren.
Ein Beispiel:
Die QToolbox
Da hab ich bisher die
QToolBox::tab {
...
}
QToolBox{
...
}
adressieren können, die Tabs sind klar, die QToolBox selbst bedient die Grundfläche des Widgets.
Was ich jetzt noch brauche sind die eigentlichen Items der QToolBox, sprich die Flächen die geöffnet werden, wenn ich auf einen Tab klicke.
Wie kann ich jetzt rausfinden, welche Elemente ich an den einzelnen Widgets für das StyleSheet zur verfügung habe ?
Da hab ich bisher noch nichts zu gefunden.
ich hab zwar schon viel zu dem Thema hier gefunden, aber eben noch nicht die Lösung gefunden.
Ich bin gerade dabei mein Layout umzu"stylen".
Dabei hab ich ein paar Probleme, die richtigen Elemente zu adressieren.
Ein Beispiel:
Die QToolbox
Da hab ich bisher die
QToolBox::tab {
...
}
QToolBox{
...
}
adressieren können, die Tabs sind klar, die QToolBox selbst bedient die Grundfläche des Widgets.
Was ich jetzt noch brauche sind die eigentlichen Items der QToolBox, sprich die Flächen die geöffnet werden, wenn ich auf einen Tab klicke.
Wie kann ich jetzt rausfinden, welche Elemente ich an den einzelnen Widgets für das StyleSheet zur verfügung habe ?
Da hab ich bisher noch nichts zu gefunden.
Du könntest alle Items durchlaufen und ihnen ein Stylesheet zuweiden.
z.B.
z.B.
Code: Alles auswählen
for (int i = 0; i < myToolBox->count(); i++)
myToolBox->widget(i)->setStyleSheet("....");
Auch schon mal
oder
probiert?
Code: Alles auswählen
QToolBox QWidget{
...
}
Code: Alles auswählen
QToolBox > QWidget {
...
}
QWidgets sind auch QObjectsIch hab auch schon überall gesucht um einfach mal eine auflistung aller elemente der einzelnen Widgets zu kriegen.
und alle widgets sind sicher in der Objecthirarchie, wenn du mit dem Designer arbeitest.
QList<T> QObject::findChildren ( const QString & name = QString() ) const
mit leerstring als paramter, liefert dir alle subobjecte, rekursiv !
nun noch mit einem qobject_cast testen ob es sich um nen widget handelt ...
Nicht besonders performant, aber schnell implementiert.
Besser:
deine widgets haben doch alle nen layout ??? sonst macht der designer ja weniger sinn ^^
also dir vom toplevel widget das layout geben lassen,
mit
int QLayout::count () const
und
QLayoutItem * QLayout::itemAt ( int index ) const
alle LayoutItems durchlaufen ...
QWidget * QLayoutItem::widget () testet gleich ob das ding nen widget ist ... und castet es dir entsprechend.
Wenn es nen widget ist, wieder von vorn anfangen (Rekursion) ....
Ciao ...
Ok, das war schon garnicht so verkehrt, jetzt konnte ich zumindest den Stil des eigentlichen Körpers anpassen, der Stil wird dann zwar gleich auf alle Inhalte angewand, aber nur solange ich keine spezifischen Stile für die ChildWidgets definiere, das sollte mich zumindest erstmal weiter bringen.
Das hilft mir nur noch nicht wirklich beim verständnis der Thematik.
Dank dir auf jeden Fall erstmal, fall noch Jemand weiß, wo ich mich etwas schlauer machen kann, was diese Beziehungen angeht, wäre das schon sehr hilfreich.
Das hilft mir nur noch nicht wirklich beim verständnis der Thematik.
Dank dir auf jeden Fall erstmal, fall noch Jemand weiß, wo ich mich etwas schlauer machen kann, was diese Beziehungen angeht, wäre das schon sehr hilfreich.
-
Troll.Soft
- Beiträge: 190
- Registriert: 18. Juni 2008 09:52
- Wohnort: Hamburg
Netter kniff, könnt sicherlich noch hilfreich sein, aber ein klein wenig umständlich isses schon. Nicht dass ich zu faul wäre ^^
http://doc.trolltech.com/4.4/stylesheet-reference.html
Die StyleSheet referenz hat mir hier jetz aber auch schon gut weiter geholfen. Mann muss sich zwar seine optionen zusammensuchen, aber damit hab ich bisher schon alles gefunden, was ich gesucht hab.
http://doc.trolltech.com/4.4/stylesheet-reference.html
Die StyleSheet referenz hat mir hier jetz aber auch schon gut weiter geholfen. Mann muss sich zwar seine optionen zusammensuchen, aber damit hab ich bisher schon alles gefunden, was ich gesucht hab.