(Parent is QSerialPort(0x4ab1ab0), parent‘s thread is QThread(0xbe3860)......问题解决办法
原因:在主线程中创建了QSerialPort对象在子线程中调用,或者在子线程中创建然后在主线程中调用了。
1.对于继承QThread重写run函数的情况
往往容易在run外部定义QSerialport *port = new QSerialport()对象,然后在run中调用port->readAll()等函数,然而根据QThread的特性,只有run函数才运行在新的子线程中,所以这里就跨线程调用了 QSerialport对象,会出现上述报错。示例代码如下:
class SerialThread :
原创
2021-09-03 11:03:10 ·
2908 阅读 ·
0 评论