Seite 1 von 1

(gelöst) QPen mit Farbe von QLinearGradient

Verfasst: 3. September 2009 10:21
von 101
Hallo Zusammen,

kann ich eigentlich einem QPen die Farbe eines lineren Gradienten (QLinearGradient) zuweisen? Bei QBrush geht das ja ohne weiteres! Bei QPen meckert der Compiler.

Verfasst: 3. September 2009 11:40
von upsala
Du kannst doch aus einem QLinearGradient einen QBrush und daraus dann ein QPen machen.

Verfasst: 3. September 2009 12:01
von 101
Wenn ich das so umsetze, wird die Linie schwarz, anstatt die Farbe des Gradienten anzunehmen!

Code: Alles auswählen

 QPainter painter(this);
 QLinearGradient linGrad(-100, -100, 100, 100);
 linGrad.setColorAt(0, Qt::red);
 linGrad.setColorAt(1, Qt::blue);

 QBrush brush(linGrad);
 QPen pen(QPen(QColor(brush.color()),10));
 painter.setPen(pen);
 painter.drawLine(-100, -100, 100, 100);

Verfasst: 3. September 2009 12:36
von upsala
Nur weil man dem QPen über Umwege den Gradienten zuweisen kann, heißt das noch lange nicht, das man damit auch zeichnen kann...

Verfasst: 3. September 2009 13:04
von 101
So ist es besser:

Code: Alles auswählen

 QPainter painter(this);
 QLinearGradient linGrad(-100, -100, 100, 100);
 linGrad.setColorAt(0, Qt::red);
 linGrad.setColorAt(1, Qt::blue);

 QPen pen(QPen(QBrush(linGrad),10));
 painter.setPen(pen);
 painter.drawLine(-100, -100, 100, 100); 


:D