美文网首页Qt学习C++
Qt延时程序方法

Qt延时程序方法

作者: Rekols | 来源:发表于2017-07-30 23:58 被阅读137次

QTimer类中的singleShot

使用QTimer类中的这个静态函数在一定的时间间隔后调用一个槽函数,使用此函数非常方便,不需要timerEvent或创建一个QTimer对象。

函数原形

void QTimer::singleShot(int msec, QObject * receiver, const char * member)

msec:时间间隔
receiver:接收对象的地址
member:槽

例子

#include <QApplication>
#include <QTimer>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QTimer::singleShot(600000, &app, SLOT(quit()));
    
    return app.exec();
}

这个程序会在10分钟(600,000毫秒)后自动终止。

定义QTimer对象的方法

首先需要定义一个对象:

QTimer *timer = new QTimer(父对象);

连接到槽:

connect(timer, SIGNAL(timeout()), this, SLOT(xxxx()));

使用start:

timer->start(2000); //两秒后触发定时器

当timer指定的父对象被销毁后,它也会自动销毁。

总结:第二种很麻烦,推荐第一种,不用定义QTimer对象,拿起QTimer::singleShot上来就是干!

Tips: 但是有个缺点,如果你在QMainWindow类中使用的话会对窗口的线程进行堵塞。

相关文章

  • Qt延时程序方法

    QTimer类中的singleShot 使用QTimer类中的这个静态函数在一定的时间间隔后调用一个槽函数,使用此...

  • Qt开发系列2——使用Qt开发一个简单程序

    这里介绍开发Qt程序的一些方法和步骤。主要内容:一、手工编写QT程序二、使用Qt Designer进行程序界面设计...

  • QT/QML添加程序图标的方法

    QT/QML添加程序图标的方法 使用QT/QML实现的程序需要加入app图标的方法: 1. 制作ICON格式图标,...

  • Qt程序导出

    对于编译好的qt程序可以使用下面的方法导出: 打开Qt 5.8 for Desktop (MinGW 5.3.0 ...

  • QT下 cannot find -IGL的解决办法

    系统版本中标麒麟6.0QT的版本是QT5.6.0 解决方法:程序不使用libGL库 修改/opt/Qt5.6.0/...

  • 延时执行

    在程序当中经常需要延时执行某些操作,而常用的延时方法有四种。 performSelector方法 声明 代码举例 ...

  • Linux下打包发布Qt应用程序

    Linux下打包发布Qt应用程序 Linux下打包发布Qt应用程序 Linux下使用Qt进行开发的程序,如果想要在...

  • QT技巧

    1、标准输出如printf等,会在QT中存在延时。解决方法:在开始的时候,使用 可以使标准输出缓冲区大小设置为0,...

  • 常用 API 调用方法

    微信小程序 获取所点列表的id 延时的方法 页面获取值得方法 wx.request

  • Qt使用,Qprocess启动外部程序

    前言 在本篇文章里面主要讲述利用Qt的Qprocess调用外部程序的注意事项,在此不讲述Qt的配置方法,同时因为网...

网友评论

    本文标题:Qt延时程序方法

    本文链接:https://www.haomeiwen.com/subject/bwqllxtx.html