QTimer
(
QTimer源代码
)的实现表明,
bool isActive()
只是检查成员变量
int id;
是否大于0:
inline bool isActive() const { return id >= 0; }
该成员变量在构造函数中使用
INV_TIMER
初始化,该构造函数是对
-1
的定义。当计时器启动时,它将被设置为
int QObject::startTimer(int interval)
的返回值。
/*! \overload start()
Starts or restarts the timer with the timeout specified in \l interval.
If \l singleShot is true, the timer will be activated only once.
void QTimer::start()
if (id != INV_TIMER) // stop running timer
stop();
nulltimer = (!inter && single);
id = QObject::startTimer(inter);
}