我想在我的代码中使用计时器。我使用Qt creator在C ++中编程。有没有办法使用Qt在C ++中模拟计时器,这将在启用时以特定间隔触发事件,类似于我们在C#中通常所做的那样?
答案 0 :(得分:4)
在Qt
中,它被称为QTimer
。它与C#
略有不同,因为使用它的方式是通过Signals and Slots。这是一个例子:
#include <QCoreApplication>
#include <QObject>
#include <QDebug>
#include <QTimer>
class MyClass : public QObject
{
Q_OBJECT
public:
explicit MyClass(QObject *parent = 0) :
QObject(parent)
{
connect(&timer, SIGNAL(timeout()), this, SLOT(onTimeOut()));
}
void startJob()
{
timer.start(1000);
}
public slots:
void onTimeOut()
{
qDebug() << "Time out!";
}
private:
QTimer timer;
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyClass c;
c.startJob();
return a.exec();
}
我建议您阅读Qt documentation page以及getting started guides中的QTimer
文档。它是您可以找到的最好的文档软件之一,我认为您会喜欢它。
答案 1 :(得分:0)
检查助手。有一种叫做QTimer的东西。这应该可以解决问题。