15 #include <QTimerEvent>
16 #include <QApplication>
38 qDeleteAll(timers.keys());
46 int start(
QObject *
object,
int duration,
bool singleShot =
false)
52 QTimer *timer =
new QTimer(
this);
53 connect(timer, SIGNAL(timeout()),
this, SLOT(onTimerInvoked()));
55 timer->start(duration);
61 QMap<QTimer *, TimerInfo>::iterator iter = timers.begin();
63 while(iter != timers.end())
67 QTimer* timer = iter.key();
82 QTimer *timer = qobject_cast<QTimer*>(sender());
83 Q_ASSERT(timers.contains(timer));
84 const TimerInfo &info = timers.value(timer);
87 QTimerEvent *ev =
new QTimerEvent(info.id);
88 qApp->postEvent(info.object, ev);