原理
QPainter 提供了绘图的常用操作,QTimer 提供了定时器功能,两者结合,可以绘制出各种不同风格的时钟。
实现方式
绘制时钟,包括时针、分针、秒针、刻度等。
void AnalogClock::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
//表针初始位置
static QPoint hourHand[3] =
{
QPoint(8, 8),
QPoint(-8, 8),
QPoint(0, -40)
};
static QPoint minuteHand[3] =
{
QPoint(6, 9),
QPoint(-6, 9),
QPoint(0, -70)
};
static QPoint secondHand[3] =
{
QPoint(5, 10),
QPoint(-5, 10),
QPoint(0, -90)
};
QColor hourColor(225, 255, 255);
QColor minuteColor(176, 224, 230, 191);
QColor secondColor(0,206,209);
int side = qMin(width()