rawfool
28th December 2011, 12:53
I'm having a problem rotating polygon. Below is the code how I tried. Please guide me. Thank you.
void Dialog::draw_needle()
{
QPolygon needle;
needle.setPoints(4, 0,7, 14,0, 160,7, 14,14);
needle.translate((this->width()/2), (this->height()/2)+30 );
QPainter painter(this);
painter.setPen(QPen(QColor(79, 106, 25), 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
painter.setBrush(QColor(122, 163, 39));
painter.drawConvexPolygon(needle);
painter.rotate(45);
}
void Dialog::paintEvent(QPaintEvent *event)
{
draw_dial();
draw_needle();
}
void Dialog::draw_needle()
{
QPolygon needle;
needle.setPoints(4, 0,7, 14,0, 160,7, 14,14);
needle.translate((this->width()/2), (this->height()/2)+30 );
QPainter painter(this);
painter.setPen(QPen(QColor(79, 106, 25), 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
painter.setBrush(QColor(122, 163, 39));
painter.drawConvexPolygon(needle);
painter.rotate(45);
}
void Dialog::paintEvent(QPaintEvent *event)
{
draw_dial();
draw_needle();
}