在网上搜到用线程的方法,对于一个刚接触QT的人来说不是一个好方法,QT虽然没有提供Sleep(),但是QT提供了系统调用,然而每个系统中都有Sleep()函数,所以可以简单的包含系统头文件即可。如果是windows平台则:#include windows.h>就可以用Sleep()了:Sleep(10000);(注意是大写
最近在
QT
的学习
中
,需要用到延时,但是在
QT
中
没有直接的
Sleep
函数 ,添加 < stdlib >头文件也不能识别
Sleep
,查阅资料后才了解到,原来
QT
中
没有直接的延时函数,看了很多方法后都觉得很复杂,我只不过是想实现一个简单的延时而已。最后在
QT
的帮助文档找到一个函数q
Sleep
,
使用
起来简单方便,正合我意
用到的是
QT
est
中
的 q
Sleep
函数
q
Sleep
(1000) ...
QT
ime dieTime =
QT
ime::currentTime().addMSecs(msec);
while(
QT
ime::currentTime() < dieTime )
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
在网上搜到用线程的方法,对于一个刚接触
QT
的人来说不是一个好方法,
QT
虽然没有提供
Sleep
(),但是
QT
提供了系统调用,然而每个系统
中
都有
Sleep
()函数,所以可以简单的包含系统头文件即可。
如果是
windows
平台则:
bool Test::
sleep
(unsigned int msec)
QT
ime dieTime =
QT
ime::currentTime().addMSecs(msec);
while (
QT
ime::currentTime...
Sleep
()函数本身是不可跨平台的,
Qt
在Android下编译时就会导致编译无法通过。
在此发一个用于替代
Sleep
()的方案。
void
sleep
(int mSec)
QElapsedTimer t;
t.start();
while(!t.hasExpired(mSec));
这个函数在任何跨平台环境下都能编译成功。
论坛上不时见到有人问:
Qt
为什么没有提供跨平台的
sleep
函数?
使用
平台相关的
Sleep
或 nano
sleep
以后,界面为什么没有反应?
QT
hread
中
提供了protected 权限的
sleep
函数,如何用到主线程
中
?
使用
QT
est
中
的 q
Sleep
,在
windows
下如何隐藏控制台?
这些问题其实归结为一点:在主线程
中
使用
这些函数
Qt
为什么没有提供跨平台的
sleep
函数?
使用
平台相关的
Sleep
或 nano
sleep
以后,界面为什么没有反应?
QT
hread
中
提供了protected 权限的
sleep
函数,如何用到主线程
中
?
使用
QT
est
中
的 q
Sleep
,在
windows
下如何隐藏控制台?
这些问题其实归结为一...