效果图
实现思路
1.先插入一张自己喜欢的图片当背景。
2.调用绘图函数画出时针,分针,秒针。
3.调用绘图函数画出表盘。(如果图片有表盘也可以不画)
4.用QTimer设定时间,使钟表一秒钟刷新一次。
代码分享
dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include<QPen>
QT_BEGIN_NAMESPACE
namespace Ui {
class Dialog; }
QT_END_NAMESPACE
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
void paintEvent(QPaintEvent* event);
static const QPoint hourHand[4];
static const QPoint minuteHand[4];
static const QPoint secondHand[4];
QPen hourHandPen;
QPen minuteHandPen;
void drawHourHand(QPainter *painter);
void drawMinuteHand(QPainter *painter);
void drawsecondHand(QPainter *painter);
void drawClockDial(QPainter *painter);
private:
Ui::Dialog *ui;
};
#endif // DIALOG_H
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
#include<QPixmap>
#include<QPainter>
#include<QTimer>
#include<QTime>
const QPoint Dialog::hourHand[4] = {
QPoint(2, 10),
QPoint(-2, 10),