当前位置: 首页 > news >正文

wordpress实现文章阅读次数南宁seo全网营销

wordpress实现文章阅读次数,南宁seo全网营销,如何把网站做跳转浏览器链接地址,安防网站模板下载Qt中定时器介绍和使用 Qt中和定时器相关的类或方法有:QElapsedTimer 、 QBasicTimer 、QObject::startTimer() 、QTimer。 QElapsedTimer QElapsedTimer 常用于快速计算两个事件之间经过的时间,如计算某个耗时操作耗时时长。 常用函数介绍 void start():启动定…

Qt中定时器介绍和使用

Qt中和定时器相关的类或方法有:QElapsedTimerQBasicTimerQObject::startTimer()QTimer

QElapsedTimer

QElapsedTimer 常用于快速计算两个事件之间经过的时间,如计算某个耗时操作耗时时长。

常用函数介绍

void start():启动定时器,通常在要计算耗时操作前启动;

qint64 elapsed() const:返回自调用start()函数开始,经历的毫秒数

bool hasExpired(qint64 timeout) const:QElapsedTimer 是否超过 timeout指定的时间,timeout可为-1,表示永不超时;超时返回true.

void invalidate():使QElapsedTimer无效

bool isValid() const:判断定时器是否有效

qint64 msecsSinceReference() const

qint64 msecsTo(const QElapsedTimer &other) const:返回此QElapsedTimer 和其它QElapsedTimer之间的毫秒数;如果other QElapsedTimer 在此QElapsedTimer之前启动,返回值为负,否则返回为正;

qint64 nsecsElapsed() const:返回QElapsedTimer 启动后的纳秒数

qint64 restart():重新启动定时器,并返回上次启动后经过的毫秒数

qint64 secsTo(const QElapsedTimer &other) const:返回此QElapsedTimer和其他QElapsetTimer之间的秒数。如果other在此对象之前启动,则返回值将为负。如果稍后启动,返回值将为正。

QElapsedTimer的使用实例

QElapsedTimer一般使 start() 配合elapsed()函数配套使用,或者start()配合restart()函数配套使用,用以计算操作的耗时;常用于查找耗时操作

   //计算操作耗时void testOpElapsed(){//声明对象并使能QElapsedTimer timer;timer.start();//耗时操作doLongTimerOp();//获取耗时操作所使用时间qint64 elapTime = timer.elapsed();}
//用于在特定时间片内执行特定操作或每个操作需要执行指定时间
void execOpForTime(int ms){QElapsedTimer timer;timer.start();while(!timer.hasExpired(ms)){//要执行的操作slowOp();}}

QBasicTimer

QBasicTimer是一个低层级的类;QBasicTimer是一个重复计时器,除非调用stop()函数,否则它将发送后续计时器事件(QTimeEvent)。在调用其start()函数时需要指定定时器间隔和指向QObject子类的指针,定时器超时后,它将向 QObject 子类发送定时器事件。可以使用 stop() 在任何时候停止定时器。 isActive() 返回 true 表示定时器正在运行;可以使用 timerId() 检索定时器的 ID。与 QTimer 不同,它不会发射信号,开销更小,适合对性能敏感的场景。

常用函数介绍

bool isActive() const

  • 定时器是否在运行,true:运行

void start(std::chrono::milliseconds duration, QObject *object)

  • 启动定时器。
  • msec:定时周期(毫秒)
  • obj:定时器事件的接收者(必须继承 QObject,且实现 timerEvent())内部实际调用 QObject::startTimer()。

void start(std::chrono::milliseconds duration, Qt::TimerType timerType, QObject *obj)

  • 启动定时器

void stop()

  • 停止定时器

void swap(QBasicTimer &other)

  • 与other 定时器进行交互,此操作很快不会失败

int timerId() const

  • 获取定时器的Id

使用实例:

在QBasicTimer在调用start()函数时,需要指定一个QObject子类指针,用于接收定时事件;所以需要在QObject的子类中需要重载void QObject::timerEvent(QTimerEvent *event) 处理定时事件

class MyObject : public QObject
{Q_OBJECTpublic:MyObject() {timer.start(1000, this); // 1秒触发一次}protected:void timerEvent(QTimerEvent *event) override {if (event->timerId() == timer.timerId()) {qDebug() << "Timer triggered!";}}private:QBasicTimer timer;
};

QObject::startTimer()

QObject::startTimer()启动一个定时器,并返回一个定时器的ID或者如果没有启动定时器返回0;会周期的产生定时事件(QTimerEvent)直到调用killTimer()函数;如果间隔周期设置为0,会一直产生定时事件(QTimerEvent)。需要重载QObject::timeEvent()函数处理定时事件

使用实例

    class MyObject : public QObject
{Q_OBJECTpublic:MyObject(QObject *parent = nullptr);protected:void timerEvent(QTimerEvent *event) override;
};MyObject::MyObject(QObject *parent): QObject(parent)
{startTimer(50);     // 50-millisecond timerstartTimer(1000);   // 1-second timerstartTimer(60000);  // 1-minute timerusing namespace std::chrono;startTimer(milliseconds(50));startTimer(seconds(1));startTimer(minutes(1));// since C++14 we can use std::chrono::duration literals, e.g.:startTimer(100ms);startTimer(5s);startTimer(2min);startTimer(1h);
}void MyObject::timerEvent(QTimerEvent *event)
{qDebug() << "Timer ID:" << event->timerId();
}

QTimer

QTimer 是一个高级编程接口,创建QTimer对象,设置定时器间隔,提供槽函数,使用connect()函数连接QTimer的timeout()信号,便可周期的处理定时事件。QTimer还提供了很多便捷接口用于处理单次定时事件。

使用实例

常规使用方式:定义对象,设置间隔,连接timeout()信号,启动定时器,停止定时器。

int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QTimer timer;QObject::connect(&timer, &QTimer::timeout, [](){qDebug() << "Timer tick!";});timer.start(1000); // 每 1 秒触发一次return a.exec();
}

使用QTimer::singleShot()函数,做单次定时操作。注意在使用QTimer::singleShot()如果绑定类成员函数做处理函数时,需要留意类的生命周期,如果在定时器超时前,类已经析构情况。

   QTimer::singleShot(2000, [](){qDebug() << "Triggered after 2 seconds, only once!";
});
http://www.dtcms.com/a/468244.html

相关文章:

  • 怎么建立自己的网站?网站排名突然掉没了
  • 电子商务网站推广论文诚信经营网站的建设
  • dw用表格做网站社区网站建设平台
  • 网站很难被百度收录福州核酸检测最新通知
  • 厦门网站建设有限公司怎么样口碑营销怎么做
  • 在局网站 作风建设小程序登录入口网址
  • 轻淘客网站建设本地免费发布信息网站
  • 网络彩票网站建设乐清做手机网站
  • 凡科建站帮忙做网站顺的网站建设多少钱
  • 游戏网站html模板开发软件用什么工具
  • 主题网站策划设计书创建好网站如何把浏览器
  • 网站制作咨哪里找专业做网站的人
  • 挂甲寺网站建设做高清视频的网站
  • 银行 网站开发 干什么最新搜索关键词
  • 网站制作的流程包括长沙建设工程备案合同查询网站
  • 做网站那个公司免费客户管理软件排行
  • 网站标题会影响吗怎样查询网站空间
  • ui设计师怎么做自己的网站wordpress主题导航
  • 网站导航的建设.net空网站做九九乘法表
  • 专业的网站开发建设公司客源通app下载
  • 怎样用自己的pid做搜索网站创可贴网页设计网站
  • 北京电力建设公司培训学校网站做网站前端代码
  • 网站备案编号网站图片相册代码
  • 鞋子网站模板企业登录
  • 做菠菜网站好赚吗wordpress 栏目链接
  • 廊坊网站建设多少钱图片展示网站php源码
  • 做云教育集群网站广告策划方案范例模板
  • 开源外贸网站网络工程师都考什么
  • 南宁网站建设推广网络科技网站有哪些方面
  • 辽宁省建设厅网站中国做网站最好的