在Qt中,如果你想要使程序等待100毫秒,可以使用QThread::msleep()
函数。这个函数会使当前线程睡眠指定的毫秒数。以下是一个示例代码:
#include <QCoreApplication>
#include <QThread>
#include <iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::cout << "Waiting for 100 milliseconds..." << std::endl;
// 等待100毫秒
QThread::msleep(100);
std::cout << "Done waiting!" << std::endl;
return a.exec();
}
注意,使用QThread::msleep()
会阻塞当前线程,因此如果你在主线程中调用它,用户界面可能会冻结。如果你需要在GUI应用程序中等待而不阻塞主线程,可以考虑使用定时器(QTimer
)来实现非阻塞等待。
例如:
#include <QCoreApplication>
#include <QTimer>
#include <iostream>
void onTimeout() {
std::cout << "Done waiting!" << std::endl;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::cout << "Waiting for 100 milliseconds..." << std::endl;
QTimer::singleShot(100, &onTimeout); // 100毫秒后调用onTimeout
return a.exec();
}
这种方法不会阻塞其他操作,可以保持应用程序响应性。
内容由零声教学AI助手提供,问题来源于学员提问