用Qt编写的自定义控件——美丽时钟
本篇文章将介绍如何使用Qt实现一款美丽的时钟自定义控件,该控件背景为图片,并且界面美观大方,既可用于单独展示,也可用于嵌入其他窗口中。整个控件的实现过程比较简单,只需要掌握一些基础的Qt知识即可。
先上源代码:
Clock.h文件:
#include <QWidget>
#include <QTimer>
class Clock : public QWidget
{
Q_OBJECT
public:
explicit Clock(QWidget *parent = nullptr);
void setBgImage(QString imagePath); // 设置背景图
signals:
public slots:
void updateDateTime(); // 更新时间
protected:
void paintEvent(QPaintEvent *event) override;
private:
QPoint m_pointCenter; // 时钟中心点
int m_nRadius; // 时钟半径
QString m_strBgImagePath; // 背景图路径
QTimer* m_timer; // 定时器
};
Clock.cpp文件:
#include "Clock.h"
#include <QPainter>
#include <QDateTime>
Clock::Clock(QWidget *parent) : QWidget(parent)
{
m_nRadius = 120;
m_timer = new QTim