Ich versuche gerade einigen Widgets stylesheet zuzuweisen, das Problem dabei ist, dass diese nur teilweise verwendet werden.
Erst mal eine grundsätzliche Frage: Werden Stylesheets nur einmal beim setzen angewendet, oder bei jedem neu zeichnen?
Das Problem bei mir ist nämlich, dass ich Stylesheets verwende, die je nach property eine andere Hintergrundfarbe zuweisen, also sowas:
*[valid=\"false\"]{background: #ff0000;}
Das funktioniert auch, aber wenn ich die Proeperty valid ändere, dann ändert sich die Hintergrundfarbe erst nachdem ich den Stylesheet neu zugewiesen habe. Noch auffälliger ist es bei einem QTablewidget, wo nur der zum Zeitpunkt der Stylesheet Zuweisung angezeigte Bereich eingefärbt wird, beim Scrollen sieht man dann die nicht eingefärbten Bereiche.
Mache ich da irgendetwas Grundsätzliches falsch, oder ist es einfach ein Qt Bug.
Für Tips wäre ich sehr dankbar
Qt und Stylesheets
Ich verwende eigene Widgets um die Inhalte anzueigen, und überprüfe diese bei einer Änderung, ob sie noch gültige Werte haben, ist das nicht der Fall, setze ich mit
widget->setProperty("valid",false);
die dynamische Property valid. Miit Hilfe eines Stylesheets werden dann alle Widgets, bei denen valid=false ist, farblich markiert. Der Vorteil ist, dass ich ein einziges Stylesheet brauche um verschiedene Felder als ungültig zu markieren und sich das dann in der ganzen Anwenung gleich aussieht.
widget->setProperty("valid",false);
die dynamische Property valid. Miit Hilfe eines Stylesheets werden dann alle Widgets, bei denen valid=false ist, farblich markiert. Der Vorteil ist, dass ich ein einziges Stylesheet brauche um verschiedene Felder als ungültig zu markieren und sich das dann in der ganzen Anwenung gleich aussieht.