跨线程控制定时器错误
原因在于:如果定时器在构造函数中初始化,则不能跨线程控制定时器的启停。
解决方法:在构造函数中,将定时器初始化为 nullptr ,在调用时再进行真正的初始化。
下面为QT跨线程初始化定时器例子
if(!m_pTimer)
{
//初始化定时器,跨线程控制定时器,不能在构造函数中初始化
m_pTimer = new QTimer();
connect(m_pTimer, &QTimer::timeout, this, &Recorder::slot_TimeGrab);
}