QDockWidget StyleSheet

Alles rund um die Programmierung mit Qt
Antworten
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

QDockWidget StyleSheet

Beitrag von bassjupp2oo8 »

Bei Qt 4.7 (vielleicht auch bei älteren Versionen?) funktioniert es bei mir nicht, einem QDockWidget ein StyleSheet zuzuordnen. Das wird einfach ignoriert.
QDockWidget *dw = new QDockWidget;

zB dw->setStyleSheet("QDockWidget{background: yellow;");
geht einfach nicht.

Benutzt man dw->setStyleSheet("*{background: yellow;" "QLabel{background: transparent;}");
ändert er zwar den DockWidget Hintergrund, übernimmt aber nicht die Änderungen für die Elemente im DockWidget (wie hier das Label).

Hat jemand eine Ahnung, ob das ein bekannter Bug ist?
Ist das bei euch auch so?
Hat jemand eine Idee, wie man es hinkriegen könnte?
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

Also Background geht wohl eh nicht. Das einzige was bis jetzt geht ist:

setStyleSheet("*{border-image: url(:/Images/background1.png);}" );

Aber wegen des * gilt das natürlich auch für alle Widgets innerhalb des DockWidgets. Aber für die soll es eigentlich gar nicht gelten... Und sie hinterher überschreiben klappt leider auch nicht.
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

Es gab irgendwo mal einen Hinweis das Stylesheets noch nicht überall klappen ... mein Stand bei Qt4.6.3 - ist vielleicht bei 4.7 immer noch so?
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

Den Eindruck habe ich auch. Hatte schon mehrere Probleme mit StyleSheets, die nicht funktionieren.
Schade schade...
bassjupp2oo8
Beiträge: 47
Registriert: 17. Juli 2008 09:45

Beitrag von bassjupp2oo8 »

Kann man denn was anderes benutzen als die StyleSheets? Kann man die PainterRoutine überschreiben mit ein paar neuen Styles?
Wüsste echt nicht, wie das geht?!?
Antworten