2011-12-19 5 views
8

Attualmente sto facendo il seguente:Come disegnare un'ellisse riempita con un determinato colore?

QGraphicsScene *scene; 
QPen pen; 
pen.setColor(color); 
scene->addEllipse(x, y, size, size, pen, QBrush(Qt::SolidPattern)); 

Tuttavia, questo sta disegnando un cerchio nero con un bordo del 'colore' di colore. Come disegno un'ellisse completamente colorata?

risposta

6

QBrush è ciò che controlla il colore di riempimento dell'ellisse. Nel codice che hai fornito, stai semplicemente dando un pennello con un motivo solido (da cui il riempimento nero).

Se osservate i vari costruttori di QBrush, noterete che esistono diversi tipi. Quelli probabilmente sarete più interessati sono

QBrush (Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern) 
QBrush (const QColor & color, Qt::BrushStyle style = Qt::SolidPattern) 

che vi permetterà fai le cose come:

scene->addEllipse(x, y, size, size, pen, QBrush(Qt::red)); 

o

scene->addEllipse(x, y, size, size, pen, QBrush(QColor("#FFCCDD")); 

Vedi Qt's QBrush documentation

Problemi correlati