#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setStyleSheet("background-color:white");
time_id = this->startTimer(1000);
}
Widget::~Widget()
{
delete ui;
}
void Widget::timerEvent(QTimerEvent *e)
{
if(e->timerId() == time_id)
{
QTime sys_t= QTime::currentTime();
h = sys_t.hour();
m = sys_t.minute();
s = sys_t.second();
update();
}
}
void Widget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
QPen pen;
//pen.setColor("black");
pen.setBrush(QBrush(QColor("black")));
pen.setWidth(4);
painter.setPen(pen);
painter.translate(this->width()/2,this->height()/2);
//painter.rotate(45);
int r = width()<height()?width():height()/2;
painter.drawEllipse(QPoint(0,0),r,r);
painter.rotate(-180);
int l=0;
for (int i = 0; i < 60;i++)
{
pen.setColor(QColor(0,0,0));
if(!(i%5))
l = 10;
else
l=0;
painter.setPen(pen);
painter.drawLine(QPoint(0,r-20+l),QPoint(0,r));
painter.rotate(6);
}
pen.setWidth(4);
pen.setColor("black");
painter.setPen(pen);
painter.rotate(6*s);
painter.drawLine(QPoint(0,0),QPoint(0,r-50));
pen.setWidth(10);
pen.setColor("blue");
painter.setPen(pen);
painter.rotate(-6*s);
painter.rotate(6*m);
painter.drawLine(QPoint(0,0),QPoint(0,r-80));
pen.setWidth(15);
pen.setColor("green");
painter.setPen(pen);
painter.rotate(-6*m);
painter.rotate((h*60+m)/2);
painter.drawLine(QPoint(0,0),QPoint(0,r-110));
}
Qt --- Day04
最新推荐文章于 2024-09-13 16:39:43 发布