我正在开发一个Qt应用程序。在程序的某个时刻,我必须暂停应用程序,然后启动功能。
QTimer::singleShot(10000, this, SLOT(testFuntion()));
qDebug() << "after Singleshot";
这就是我的问题。计时器启动,我可以看到我的
testFuntion()
的输出,但是它不会暂停应用程序。我可以在SingleShot之后立即看到qDebug
输出,在10秒钟后可以看到我的testFuntion()
输出。您能帮我解决这个问题吗?还是还有其他命令可以使我的应用程序暂停一段时间,然后运行功能?
最佳答案
它正在按应有的方式工作。这行:
QTimer::singleShot(10000, this, SLOT(testFuntion()));
计时器计时时将启动该功能。但是,计时器独立于应用程序的其余部分运行,因此在执行此行之后,主应用程序将继续进入
qDebug()
行。如果您确实要暂停该应用程序(我不建议这样做,因为该应用程序无法响应),则可以使用
sleep()
和usleep()
函数。更好的方法是为用户显示某种通知(可能是进度条)。
关于c++ - Qt停止申请一段时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14724184/