qt槽函数重复被调用slot被调用多次

咱们这里肯定说的不是Qt::UniueQueue,说的是lambda为引用时,connect了多次:

    // 等待操作完成
    QEventLoop el;
    QTimer timer;

    disconnect(ctim);
    ctim = connect(&timer,&QTimer::timeout,this,[&](){
        el.exit(-1);
    });
    connect(this,&QLibUsb::sigEpxDone,&el,&QEventLoop::quit);
    timer.setTimerType(Qt::PreciseTimer);
    timer.start(3000);

    int rc = el.exec();


如上,因为用了引用符号&,这个connect会一直存在。方法就是用完把他disconnect掉。

本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2024 labisart.com 版权所有 | 联系:labartwork@163.com