Qt实战案例(60)——利用QTimer类实现实时时间功能

目录

一、项目介绍

本文介绍利用QTimer类实现实时时间功能并在状态栏中进行显示。

二、项目基本配置

新建一个Qt案例,项目名称为"TimeTest",基类选择"QWidget",取消选中创建UI界面复选框,完成项目创建。

三、UI界面设置

UI界面如下:

无UI界面

四、主程序实现

4.1 widget.h头文件

声明私有变量和私有槽函数:

cpp 复制代码
private slots:
    void updateTime() {
        // 获取当前时间并格式化为字符串
        QString currentTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss");
        // 将时间设置为标签的文本
        timeLabel->setText(currentTime);
    }
private:
    QStatusBar *statusBar;
    QLabel *timeLabel;

4.2 widget.cpp源文件

在构造函数中新建状态栏,并设置每1000毫秒(1秒)更新一次数据:

cpp 复制代码
//新建状态栏
statusBar=new QStatusBar(this);
this->setStatusBar(statusBar);
timeLabel=new QLabel(this);
statusBar->addPermanentWidget(timeLabel);
// 创建计时器,每秒更新一次
QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, &MainWindow::updateTime);
timer->start(1000); // 设置每1000毫秒(1秒)触发一次
// 初始化时间显示
updateTime();

五、效果演示

完整效果如下:


ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~

相关推荐
z落落1 小时前
C# WinForm Socket 转串口设备服务器+Modbus CRC16校验+Socket 客户端
服务器·开发语言·c#
小灰灰搞电子7 小时前
Rust+Slint 实现动态消息提示框源码分享
开发语言·后端·rust
神仙别闹8 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
传奇开心果编程8 小时前
【Rust入门知识点学与练】第21课:Trait 进阶 Advanced Traits
开发语言·学习·rust
新时代牛马9 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
swordbob9 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
插件开发9 小时前
Illustrator 插件开发:链接文件存在检查的原理与实战
ui·illustrator
白山编程大哥9 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
hansang_IR9 小时前
【题解】[APIO2023] 赛博乐园 / cyberland
c++·算法·图论
xy34539 小时前
axure9.0 如何打造一个计时器(简单版)
前端·ui·html·axure·原型·产品设计