我使用多线程去实现串口接受(根据线程ID看,确实实现了),但是在我拖动窗口的时候发现接受卡住了
widget.cpp:
Recive *recive = new Recive(&serialPort);
recive->moveToThread(&recive_Thread);
connect(&serialPort, &QSerialPort::readyRead, recive, &Recive::doDataReciveWork, Qt::QueuedConnection);
connect(recive, &Recive::sendResultToGui, this, &Widget::handleResults);
recive_Thread.start();
recive.cpp
void Recive::doDataReciveWork()
{
QByteArray buffer = serialPort->readAll();
// 2.进行数据处理
QString resultStr = buffer;
//qDebug() << "子线程收到数据:" << resultStr << "线程ID:" << QThread::currentThreadId();
// 3.将结果发送到主线程
emit sendResultToGui(resultStr);
}
相似问题