Verlauf im Style

Alles rund um die Programmierung mit Qt
Antworten
motualf
Beiträge: 4
Registriert: 14. September 2006 11:26

Verlauf im Style

Beitrag 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)
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag 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.
motualf
Beiträge: 4
Registriert: 14. September 2006 11:26

Beitrag 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

Code: Alles auswählen

polish(QPalette &palette)
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
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Beitrag von Sym »

Hi,

alternativ kannst Du Dir auch den ArthurStyle von Qt anschauen. Dort wird ein grauer Farbverlauf gesetzt.
Antworten