• 13433阅读
  • 10回复

[提问]qt中有没有延时函数的? [复制链接]

上一主题 下一主题
离线wangyan23888
 

只看楼主 倒序阅读 楼主  发表于: 2013-03-28
如题,想用个延时函数,不知道怎么样的?
谢谢
离线彩阳

只看该作者 1楼 发表于: 2013-03-28
QTimer可以延时。设置setSigleshot后start。
也可以使用QThread::msleep()来让当前线程休眠。
上海Qt开发联盟,热忱地欢迎你的加入!
离线wangyan23888

只看该作者 2楼 发表于: 2013-03-29
回 1楼(彩阳) 的帖子
能不能帮忙写一下,2条代码间相隔一个的延时函数,谢谢!
离线彩阳

只看该作者 3楼 发表于: 2013-03-29
简单点吧:
#include <QThread>

两条语句之间添加
QThread::msleep( 3000 );// 休息三秒
上海Qt开发联盟,热忱地欢迎你的加入!
离线jdwx

只看该作者 4楼 发表于: 2013-03-29
回 3楼(彩阳) 的帖子
QThread::msleep();这个不好用。
因为
Static Protected Members

void    msleep ( unsigned long msecs )
void    setTerminationEnabled ( bool enabled = true )
void    sleep ( unsigned long secs )
void    usleep ( unsigned long usecs )
所以不可以直接用,只能曲折一些,继承QThread,把这几个sleep变成public
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jdwx

只看该作者 5楼 发表于: 2013-03-29
我估计Qt之所以这么设计,就是不提倡在主线程里sleep。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线彩阳

只看该作者 6楼 发表于: 2013-03-29
引用第5楼jdwx于2013-03-29 10:44发表的  :
我估计Qt之所以这么设计,就是不提倡在主线程里sleep。

Qt5.0的帮助:
QThread also provides static, platform independent sleep functions: sleep(), msleep(), and usleep() allow full second, millisecond, and microsecond resolution respectively. These functions were made public in Qt 5.0.
可以公有空间访问msleep等休眠函数。
上海Qt开发联盟,热忱地欢迎你的加入!
离线wangyan23888

只看该作者 7楼 发表于: 2013-03-29
回 6楼(彩阳) 的帖子
那还是按你之前的那样用?
离线jdwx

只看该作者 8楼 发表于: 2013-03-29
回 7楼(wangyan23888) 的帖子
6楼说的正确,我的帮助还是Qt4的。Qt5确实改为了public。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线wangyan23888

只看该作者 9楼 发表于: 2013-03-29
回 8楼(jdwx) 的帖子
哦,那明天去公司看看qt是多少的
离线XChinux

只看该作者 10楼 发表于: 2013-03-29
QTest::qSleep(), QTest::qWait()
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个