Unsolved QSerialPort线程
-
请问大家 有遇到过这种情况吗?
使用QSerialPort进行串口通信,在主线程中new一个QSerialPort,并连接好指定串口。在主线程中可以正常通信,传入子线程中就不能使用。
望解答,谢谢 -
@linxisuo said in QSerialPort线程:
使用QSerialPort进行串口通信,在主线程中new一个QSerialPort,并连接好指定串口。在主线程中可以正常通信,传入子线程中就不能使用。
QT大多数的类都不是线程安全的,需要在主线程使用
-
QT线程中run需要独立创建QSerialPort,并且start的时候不能占用端口。
-
QSerialPort为IO设备,不要进行跨线程操作。最好的方法如楼上所说,在子线程中实例化该对象,例如:继承QThread的子类,应该在run()函数中定义并实例化QSerialPort。