• 951阅读
  • 0回复

[讨论]processEvents()时,没有处理tcp readRead信号 [复制链接]

上一主题 下一主题
离线kdurant
 

只看楼主 倒序阅读 楼主  发表于: 2021-06-29
  1. connect(tcpClient, &QTcpSocket::readyRead, this, [this]() {
  2.     QByteArray buffer;
  3.     buffer = tcpClient->readAll();
  4.     dispatch->parserFrame(buffer);  // 协议处理
  5. });
  6. connect(ui->btn_sendFile, &QPushButton::pressed, this, [this]() {
  7.     int cycleCnt = 0;
  8.     do
  9.     {
  10.         cycleCnt++;
  11.         耗时操作();
  12.         QElapsedTimer time;
  13.         time.start();
  14.         while(time.elapsed() < sysPara.cycleIntervalTime)
  15.         {
  16.             QCoreApplication::processEvents();
  17.         }
  18.     } while(sendFlow->isSendAllBlock() == false && cycleCnt < sysPara.repeatNum);
  19. });
time.elapsed()这里我等1s的话,很多tcp数据进来了,但readyRead信号没有被触发,槽函数也执行不了


这是啥原因啊?有什么办法解决吗?

快速回复
限100 字节
 
上一个 下一个