qt非thread使用sleep,如何使用Qt延迟执行循环

In my application I want that when a loop is being executed, each time the control transfers to the loop, each execution must be delayed by a particular time. How can I do this?

解决方案

EDIT (removed wrong solution).

EDIT (to add this other option):

Another way to use it would be subclass QThread since it has protected *sleep methods.

QThread::usleep(unsigned long microseconds);

QThread::msleep(unsigned long milliseconds);

QThread::sleep(unsigned long second);

Here's the code to create your own *sleep method.

#include

class Sleeper : public QThread

{

public:

static void usleep(unsigned long usecs){QThread::usleep(usecs);}

static void msleep(unsigned long msecs){QThread::msleep(msecs);}

static void sleep(unsigned long secs){QThread::sleep(secs);}

};

and you call it by doing this:

Sleeper::usleep(10);

Sleeper::msleep(10);

Sleeper::sleep(10);

This would give you a delay of 10 microseconds, 10 milliseconds or 10 seconds, accordingly. If the underlying operating system timers support the resolution.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值