QObject: Cannot create children for a parent that is in a different thread.

qq_39796401 2018-09-30 11:14:16
bool SerialPort::OpenPort(const QString com, signed int bautrate)
{
serial_mutex->lock();
if (port->isOpen() || (com.isEmpty())) {
serial_mutex->unlock(); return true;
}
//初始化串口参数
port->setPortName(com);
port->setBaudRate(bautrate);
port->setParity(QSerialPort::NoParity);
port->setDataBits(QSerialPort::Data8);
port->setStopBits(QSerialPort::OneStop);
port->setFlowControl(QSerialPort::NoFlowControl);
port->setReadBufferSize(ReadBufferSize);
bool r_v = port->open(QSerialPort::ReadWrite);
//port->close();
serial_mutex->unlock(); return r_v;
}
这个函数是在线程中调用的,只要添加了“port->close();”这行代码,就会出现标题所示的错误,实在费解,打开串口没问题,关闭有。
(Parent is QSerialPort(0x2ded2874fe0), parent's thread is QThread(0x2decf6437b0), current thread is QThread(0x2ded28fdb30)
...全文
1823 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
彩阳 2018-10-02
  • 打赏
  • 举报
回复
还是多多注意多线程的操作,否则会产生意想不到的错误。

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧