{
public:
QSize sizeHint
(void) const { return QSize(500,
500);
}
protected:
{
const int arkWidth = 40;
const QRect & rect
= event
->rect
();
const int side = qMin(rect.height(), rect.width());
if(side < (arkWidth * 2))
return;
QPen pen
= painter.
pen();
pen.setColor(Qt::darkBlue);
pen.setWidth(arkWidth);
painter.setPen(pen);
const int margin = pen.width();
QRect r
(0,
0, side, side
);
r.adjust(0, 0, -margin, -margin);
r.moveCenter(rect.center());
const int start = 20;
const int end = 180 - start * 2;
painter.drawArc(r, start * 16, end * 16);
}
};
class Painter : public QWidget
{
public:
explicit Painter(QWidget * parent = 0) : QWidget(parent) { }
QSize sizeHint(void) const { return QSize(500, 500); }
protected:
void paintEvent(QPaintEvent * event)
{
const int arkWidth = 40;
const QRect & rect = event->rect();
const int side = qMin(rect.height(), rect.width());
if(side < (arkWidth * 2))
return;
QPainter painter(this);
QPen pen = painter.pen();
pen.setColor(Qt::darkBlue);
pen.setWidth(arkWidth);
painter.setPen(pen);
const int margin = pen.width();
QRect r(0, 0, side, side);
r.adjust(0, 0, -margin, -margin);
r.moveCenter(rect.center());
const int start = 20;
const int end = 180 - start * 2;
painter.drawArc(r, start * 16, end * 16);
}
};
To copy to clipboard, switch view to plain text mode
Bookmarks