首页 新闻 会员 周边 捐助

Qt 连接信号槽没数据问题

0
悬赏园豆:5 [已关闭问题] 关闭于 2024-07-02 15:27

本人需求是打开连接设备A的串口,正常下设备A不需要我这边发指令过去,一连通串口就会自动通过串口发数据过来,所以我这边要有段接收数据的代码,用了// (1)连接信号槽,当有数据可读时触发
这段代码。
以下代码是Qt的button单击事件,内容是打开串口与连接信号槽,当有数据可读时触发将数据显示在textedit控件上。但执行发现,串口正常打开了,但textedit没数据显示,换了第三方的串口助手是可以正常接收设备A的数据,是不是我的连接信号槽这段代码放错位置了,不是放button单击事件内?那应该放哪?谢谢!

void MainWindow::on_pbt_open_2_clicked()
{
serialPortMaf= new QSerialPort;
if(serialPortMaf->isOpen())
{
serialPortMaf->clear();
serialPortMaf->close();
ui.pbt_open_2->setText("打开串口");
return;
}
serialPortMaf->setPortName(“com3”);

if(serialPortMaf->open(QIODevice::ReadWrite))
  {      
      ui.Stmlabel->setText("已连接串口");
      ui.pbt_open_2->setText("关闭串口");
    


     // (1)连接信号槽,当有数据可读时触发
     connect(serialPortMaf, &QSerialPort::readyRead, [&]() {
         // 读取并处理数据
         QByteArray data = serialPortMaf->readAll();
         // 处理data中的数据...
         ui.tex_send->setText(serialPortUtils->buffer2HexStr(data));
     });
    
  }
     
    }

}

tea2007的主页 tea2007 | 初学一级 | 园豆:37
提问于:2024-07-01 16:47
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册