# DigitalClock **Repository Path**: alon-1787/digital-clock ## Basic Information - **Project Name**: DigitalClock - **Description**: 简单的数字时钟 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-18 - **Last Updated**: 2023-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DigitalClock ## 介绍 简单的数字时钟 ## 效果图 ![时钟](assets/%E6%97%B6%E9%92%9F.gif) ## 编写步骤 ### 创建项目 创建项目,名字为DigitalClock ![image-20230318223108749](assets/image-20230318223108749.png) ### 创建一个类,继承自QLCDNumber类 ```cpp // 文件:digitalclock.h" #ifndef DIGITALCLOCK_H #define DIGITALCLOCK_H #include #include #include class DigitalClock : public QLCDNumber { Q_OBJECT public: DigitalClock(QWidget *parent = 0); QLabel *label = new QLabel; public slots: void showTime(); }; #endif // DIGITALCLOCK_H ``` ### 编写效果代码 ```cpp // 文件:digitalclock.cpp #include "digitalclock.h" #include #include #include #include #include #include #include DigitalClock::DigitalClock(QWidget *parent) : QLCDNumber(parent) { setSegmentStyle(QLCDNumber::Filled); // 用于显示详细的日期和时间 label->setParent(this); label->setFont(QFont("楷体",15)); showTime(); // 创建定时器 auto *timer = new QTimer(this); connect(timer,&QTimer::timeout,this, &DigitalClock::showTime); timer->start(1000); // 显示 setWindowTitle("Digital Clock"); resize(375, 180); setMode(QLCDNumber::Hex); } ``` ### 编写定时器,一秒刷新 ```cpp // 在构造函数中添加如下片段: DigitalClock::DigitalClock(QWidget *parent) { // 创建定时器 auto *timer = new QTimer(this); connect(timer,&QTimer::timeout,this, &DigitalClock::showTime); timer->start(1000); } // 触发定时器,执行任务: void DigitalClock::showTime() { QTime time = QTime::currentTime(); QDate date = QDate::currentDate(); QString text = date.toString("yyyy-MM-dd dddd ") + time.toString("hh:mm:ss"); label->setText(text); //qInfo()<