qq_45043457 2022-11-22 11:13 采纳率: 33.3%
浏览 38
已结题

QT 事件循环问题之QEventLoop

QT中如果在QApplication.exec()之前执行QEventLoop.exec(), 简要代码如下:

代码

int main(int argc, char *argv[]){
     ........
    QEventLoop eventLoop;
    QTimer timer;
    timer.setSingleShot(true);
    QObject::connect(&timer, SIGNAL(timeout()), &eventLoop, SLOT(quit()));
    QObject::connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit()));
    timer.start(timeout);
    eventLoop.exec(QEventLoop::ExcludeUserInputEvents);
    .......
    QApplication a(argc, argv);
    a.exec();
}

为什么程序会阻塞在eventLoop.exec()?

  • 写回答

3条回答 默认 最新

  • mideum 2022-11-22 14:47
    关注

    试试把QApplication a(argc, argv);挪到最上面

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月26日
  • 已采纳回答 1月18日
  • 创建了问题 11月22日

悬赏问题

  • ¥20 判断两个表是否完全相同
  • ¥20 工控机出现散热器转一下停一下这种情况,是什么原因造成的
  • ¥15 双显卡,启动docker容器报错。
  • ¥15 想编写一个期货跨期套利的程序
  • ¥15 一个线程在sleep的时候set一个信号会起作用吗
  • ¥50 如何利用matlab将现有的地基雷达回波数据调制为机载雷达回波数据
  • ¥100 需求高精度PT100设计电路和算法
  • ¥15 单片机配网,继电器开关,广播
  • ¥60 Qcustomplot绘制实时动态曲线
  • ¥20 运用matlab画x-y图