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)
Verlauf im Style
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
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.
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
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);
}Code: Alles auswählen
polish(QPalette &palette)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