Qt 定时器之 singleShot 用法

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

这个静态函数在一个给定时间间隔 msec(毫秒) 之后调用一个槽。

用法1 :
假设类A有个槽函数 function() { }
我们要在10s之后执行它
就可以: QTimer::singleShot(10*1000,this, &A::function());

用法2:
实现循环
槽函数中还是singleShot 即:

    function(){
        QTimer::singleShot(10*1000,this, &A::function());
    }

但是为了让循环可控,应该加个条件

bool condition = true;
function(){
    if(condition){
        QTimer::singleShot(10*1000,this, &A::function());
    }
}

你可能感兴趣的:(Qt 定时器之 singleShot 用法)