#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
t=startTimer(1000);
}
Widget::~Widget()
{
delete ui;
}
void Widget::paintEvent(QPaintEvent *event)
{
QPainter p(this);
p.translate(width()/2,height()/2);
QPen pen;
pen.setWidth(3);
p.setPen(pen);
p.drawEllipse(QPoint(0,0),200,200);
for (int i=0;i<360/6;i++)
{
pen.setWidth(1);
p.setPen(pen);
if(i%5==0)
{
pen.setWidth(2);
p.setPen(pen);
p.drawLine(QPoint(0,-199),QPoint(0,-190));
if(i==0)
p.drawText(QPoint(-5,-160),QString::number(12));
else
p.drawText(QPoint(-5,-160),QString::number((i/5)));
}
p.drawLine(QPoint(0,-199),QPoint(0,-190));
p.rotate(6);
}
QTime sys_time=QTime::currentTime();
QString s=sys_time.toString();
int hh,mm,ss;
QStringList l=s.split(":");
hh = l[0].toUInt();
mm = l[1].toUInt();
ss = l[2].toUInt();
p.rotate(ss*6);
p.drawLine(0,0,0,-180);
p.rotate(-ss*6);
pen.setWidth(2);
p.setPen(pen);
p.rotate(mm*6 + ss*6/60);
p.drawLine(0,0,0,-180/2);
p.rotate(-(mm*6 + ss*6/60));
pen.setWidth(5);
p.setPen(pen);
p.rotate(hh*30 + mm*6/12 + ss*6/60/12);
p.drawLine(0,0,0,-180/3);
p.rotate(-(hh*30 + mm*6/12 + ss*6/60/12));
}
void Widget::timerEvent(QTimerEvent *event)
{
if(event->timerId()==t)
{
this->update();
}
}
qt 时钟
最新推荐文章于 2024-07-19 15:32:04 发布