QTimer::singleShot是一个静态函数,它会在指定时间后触发一个单次计时器事件。该函数的定义如下:
static void QTimer::singleShot(int msec, const QObject *receiver, const char *member)
参数说明:
- msec:等待的毫秒数。
- receiver:接收信号的对象。
- member:信号处理函数的名称。
使用示例:
#include <QApplication>
#include <QTimer>
#include <QDebug>
void timeout()
{
qDebug() << "timeout";
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTimer::singleShot(1000, &a, SLOT(quit()));
QTimer::singleShot(2000, &qApp, SLOT(quit()));
QTimer::singleShot(3000, timeout);
return a.exec();
}
上述示例中,第一个计时器会在1000ms(即1s)后退出应用程序,第二个计时器会在2000ms(即2s)后退出应用程序,第三个计时器会在3000ms(即3s)后执行timeout函数。