回复: Qt程序中用了QTest::qWait(800);//延迟0.8秒,但是运行exe程序会同时弹出一个DOS窗口
#6 回 圣域天子 的帖子 [dbzhang800 05-28 16:54]
圣域天子:QThread::sleep(...)
QThread::msleep(...) (2018-05-28 11:58)
sleep 和 这个wait还是有区别的,sleep是真的等待,wait只是又启动一个事件循环,
#7 回 dbzhang800 的帖子 [ustone 05-28 20:04]
dbzhang800:写一个和 QTest::qWait 一样的也不难 (2018-05-28 11:46)
能提示一下吗?
#8 回 圣域天子 的帖子 [ustone 05-28 20:05]
圣域天子:QThread::sleep(...)
QThread::msleep(...) (2018-05-28 11:58)
我需要的是等待的时候能处理事件。
#9 [dbzhang800 05-28 20:08]
之前的blog,有些话有些过时,不过代码还可以看
https://blog.csdn.net/dbzhang800/article/details/6300425
#10 回 dbzhang800 的帖子 [ustone 05-29 12:59]
dbzhang800:之前的blog,有些话有些过时,不过代码还可以看
https://blog.csdn.net/dbzhang800/article/details/6300425 (2018-05-28 20:08)
谢谢,信息量很大,我参考写了一个Qt自定义延时函数,帮忙看看:
void Wait(int ms)
{
QElapsedTimer timer;
timer.start();
do {
QCoreApplication::processEvents(QEventLoop::AllEvents, ms);
#ifdef Q_OS_WIN
Sleep(1);
#else
nanosleep(1);
} while (timer.elapsed() < ms);
}