日志
求助:线程和connect连接方式
2020-07-09 16:58
void Widget::on_pushButton_2_clicked()
{ mytimer = new QTimer(this); connect(mytimer,&QTimer::timeout,this,[=](){ qDebug()<<"定时器"; },Qt::DirectConnection); mytimer->start(1000); for(int i=0;i<10;i++) { qDebug()<<"for循环"; QThread::sleep(1); } } 运行结果是:10次for循环完成后,才开始每秒调用定时器槽函数。 疑问:我在给定时器做信号绑定时,指定了连接方式为直接连接Qt::DirectConnection,理论上应该是信号发出后立即调用槽函数才对。结果应该是for循环和定时器槽函数交替执行才对。为什么实际运行结果与理论不符? |