一、简介
利用Qt模拟钟表,设置定时器,发送信号到槽函数,update()重绘窗口,重写paintEvent函数,根据获取的当前时间重绘时分秒针,最后加上刻度,自定义背景图。
二、代码
1.头文件
#ifndef ZHONG_H
#define ZHONG_H
#include <QWidget>
#include <QMainWindow>
#include <QPaintEvent>
#include <QPainter>
#include <QTime>
#include <QTimer>
#include <QPen>
#include <QFont>
QT_BEGIN_NAMESPACE
namespace Ui {
class zhong; }
QT_END_NAMESPACE
class zhong : public QMainWindow
{
Q_OBJECT
public:
zhong(QWidget *parent = 0);
~zhong();
static const QPoint hourHand[4];
static const QPoint minuteHand[4];
static const QPoint secondHand[4];
QPen hourHandPen;
QPen minuteHandPen;
QFont font;
void paintEvent(QPaintEvent*event);
void drawHourHand(QPainter *painter);
void drawMinuteHand(QPainter *painter);
void drawsecondHand(QPainter *painter);
void drawClockDial(QPainter *painter);
private:
Ui::zhong *ui;
};
#endif // ZHONG_H
2.cpp文件
①设置背景
oid zhong::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QPixmap pix;
pix.load(":/new/prefix1/ktu/3.jpg");//插入图片的位置
painter.drawPixmap(0,0,this->width(),this