尽管我认为问题并不那么复杂,但我很难说出这个问题。
我想做一些类似于QTimer::singleshot()
的操作,但我希望它即使在触发前多次调用QTimer::singleshot()
仍只调用一次SLOT。
最佳答案
这应该工作。
class MyObject
{
// ...
QTimer* mTimer;
}
MyObject::MyObject()
{
mTimer = new QTimer(this);
mTimer->setSingleShot(true);
connect(mTimer, SIGNAL(timeout()), SLOT(doStuff()));
}
MyObject::startOrResetTimer()
{
mTimer->start(1000);
}