QTimer::singleShot是Qt框架中的一个静态函数,用于创建一个单次触发的定时器。
它的语法如下:
void QTimer::singleShot(int msec, const QObject *receiver, const char *member)
参数说明:
msec
:定时器触发时间(以毫秒为单位)receiver
:接收定时器信号的对象member
:定时器触发时调用的槽函数或者信号
使用示例:
#include <QCoreApplication>
#include <QTimer>
#include <QDebug>
class MyClass : public QObject
{
Q_OBJECT
public slots:
void timerSlot()
{
qDebug() << "Timer triggered";
qApp->quit();
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyClass obj;
QTimer::singleShot(2000, &obj, SLOT(timerSlot()));
return a.exec();
}
以上代码中,我们创建了一个单次触发的定时器,延迟2秒后触发,并调用MyClass类中的timerSlot槽函数。在槽函数中输出一条信息并退出应用程序。
内容由零声教学AI助手提供,问题来源于学员提问