Seite 1 von 1

Style von QFrame ändern

Verfasst: 22. Mai 2011 15:35
von Julia
Hallo

habe ein Object von Typ QFrame
mit den Parameter

Code: Alles auswählen

setFrameShape(QFrame::HLine);
setFrameShadow(QFrame::Sunken);
nun erscheint eine Linie, die sich aus 2 Strichen zusammensetzt
Wie kann ich die Farbe dieser Striche ändern?
Habe schon meinen eigenen Style in einer Klasse von QStyle abgeleitet.

Vielen Dank schon mal im Vorraus
lg

Verfasst: 22. Mai 2011 22:56
von androphinx
Alle Widgets unter Qt lassen sich mithilfe von CSS manipulieren. Wenn du also eine andere Rahmenfarbe haben möchtest, dann hilft dir z.B. folgendes Stylesheet:

Code: Alles auswählen

QFrame
{
  border-color: #ff0000;
}
Die Stylesheets kannst du entweder im Designer fest einarbeiten oder per entsprechender Funktion im Programmcode einstellen.

Mfg androphinx

Verfasst: 23. Mai 2011 08:28
von franzf
Farbenmanagement geht über QPalette. Die zu verwendende Palette bekommst du mit dem QStyleOption-Objekt bei der jeweiligen QStyle-Zeichenroutine. Da es für den Rahmen keine ColorRole gibt, ist es dem Style-Programmierer überlassen, einen passenden Wert aus der Palette zu nehmen, oder einen schönen Wert aus verschiedenen einzelnen roles zu berechnen.