hydelios 2021-03-11 11:49 采纳率: 20%
浏览 99

QT线程运行的问题,线程内无法调用单例方法

在QThreadpool线程池里启动了一个线程,该线程的run方法里使用了command对象的lrmotor_ctl方法,这个command对象是个单例在主线程创建的,它调用了自己的成员去做QSerialPort去做串口通信。运行这个方法的时候就报错了报错信息如下。不知道怎么一回事。

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

(Parent is QSerialPort(0x42fcc4c), parent's thread is QThread(0x297dd58), current thread is lrmotorrun(0xd361ab0)

  • 写回答

1条回答 默认 最新

  • 幻灰龙 2021-03-11 11:58
    关注

    参考这个链接,工作线程和主线程之间通过 signal/slot 通信:

    https://stackoverflow.com/questions/14545961/modify-qt-gui-from-background-worker-thread

    评论

报告相同问题?

悬赏问题

  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?
  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现