Seite 1 von 1
Verlauf im Style
Verfasst: 14. September 2006 15:27
von motualf
Servus,
ist es möglich einen Farbverlauf für das Hauptfenster, abhängig von dessen aktueller Größe in einem Style zu definieren (er soll also mit dem Fenster "skalieren")?
Gruß
motualf (Martin Gmür)
Verfasst: 20. September 2006 16:54
von FlorianBecker
Och, bestimmt.
Beschreibe bitte mal, was du "genau" vor hast mit allen Informationen, die du dazu reichen kannst. Vielleicht Anfänge oder oder.
Verfasst: 22. September 2006 15:39
von motualf
Servus,
ich bin von dem Norwegian Wood Beispiel von QT ausgegangen und wollte meinen eigenen Stil
definieren. Bei Norwegian Wood wird ja ein endloses Pattern aus Pixmaps als
Fensterhintergrund verwendet und der Palette zugeordnet. Ich würde gerne einen
Radialgradient verwenden um einen Verlauf zu generieren. Das klappt so weit auch.
Code: Alles auswählen
void HimaStyle::polish(QPalette &palette)
{
//..
QGradient linearBackgroundGrad = QLinearGradient (QPointF(0, 0), QPointF(1024, 0));
linearBackgroundGrad.setColorAt(0, Qt::white)
linearBackgroundGrad.setColorAt(1, Qt::red);
QBrush backgroundBrush = QBrush(linearBackgroundGrad);
palette.setBrush(QPalette::Window, backgroundBrush);
}
Wenn ich das Fenster dann aber skaliere bleibt der Radialgradient konstant - logisch da
ja nur einmal aufgerufen wird.
Bei Buttons kann man aber über drawControl einen Verlauf abhängig von Weite und Höhe des
Buttons definieren und genau das würde ich gerne beim Hintergrund des Hauptfensters (in diesem Fall QDialog) hinbekommen.
Das Ziel ist es wirklich nur am Style zu arbeiten, nicht an der WidgetGallery. D.h. irgendwo
müsste man die Weite des Hauptfenster herbekommen und die Möglichkeit drüber zu zeichnen
oder die QPalette::Window zu verändern.
Gruß Martin Gmür
Verfasst: 22. September 2006 16:19
von Sym
Hi,
alternativ kannst Du Dir auch den ArthurStyle von Qt anschauen. Dort wird ein grauer Farbverlauf gesetzt.