本文主要是介绍【QT】C#中System.Timers.Timer定时触发事件的计时器类,qt与之对应的QTimer类的使用举例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一个桌面应用程序,该应用程序需要定期更新一些数据,以确保用户始终看到最新的信息。
.h
#ifndef TIMEREXAMPLE_H
#define TIMEREXAMPLE_H#include <QObject>
#include <QTimer>
#include <QDateTime>class TimerExample : public QObject
{Q_OBJECTpublic:explicit TimerExample(QObject *parent = nullptr);~TimerExample();signals:void dataUpdated(QString newData);public slots:void updateData();private:QTimer *timer;QString currentData;
};#endif // TIMEREXAMPLE_H
cpp
#include "timerexample.h"
#include <QDebug>TimerExample::TimerExample(QObject *parent) : QObject(parent)
{// 创建定时器对象timer = new QTimer(this);// 连接定时器的timeout()信号到槽函数connect(timer, SIGNAL(timeout()), this, SLOT(updateData()));// 设置定时器的时间间隔,单位是毫秒timer->start(5000); // 每隔5秒触发一次timeout()信号// 初始化数据currentData = "Initial data";
}TimerExample::~TimerExample()
{// 在对象销毁时,停止定时器并释放资源timer->stop();delete timer;
}void TimerExample::updateData()
{// 模拟从服务器或其他来源获取新数据的操作QDateTime currentTime = QDateTime::currentDateTime();currentData = "Updated data at " + currentTime.toString("hh:mm:ss");// 发送信号,通知数据已经更新emit dataUpdated(currentData);qDebug() << "Data updated:" << currentData;
}
这篇关于【QT】C#中System.Timers.Timer定时触发事件的计时器类,qt与之对应的QTimer类的使用举例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!