在非线程环境下,可以使用QThread::sleep()
函数或者QCoreApplication::processEvents()
函数来实现程序的休眠效果。
- 使用
QThread::sleep()
函数:
#include <QThread>
int main(int argc, char *argv[])
{
// ...
QThread::sleep(1); // 休眠1秒钟
// ...
}
- 使用
QCoreApplication::processEvents()
函数:
#include <QCoreApplication>
#include <QEventLoop>
int main(int argc, char *argv[])
{
// ...
QEventLoop loop;
QTimer::singleShot(1000, &loop, &QEventLoop::quit); // 设置定时器,延时1秒后退出事件循环
loop.exec(); // 进入事件循环,程序暂停执行
// ...
}
上述方法都会使得程序在指定的时间内暂停执行。注意,在GUI应用中,使用processEvents()
函数可能会导致界面失去响应,所以需要谨慎使用。
内容由零声教学AI助手提供,问题来源于学员提问