首页 > 其他分享 >Qt关于moveToThread

Qt关于moveToThread

时间:2023-03-02 18:15:13浏览次数:35  
标签:moveToThread Qt 对象 创建 线程 关于 new

描述:问题

最近使用moveToThread函数时遇到一个bug,

主线程中创建一个类对象,一个新线程,并把类对象移到新线程中,采用的是新建此类,在建线程,接着线程启动。

此时会遇到一个问题:new 类在之前,moveToThread在之后,在new 类的过程中会创建类内对象,这些对象是在new 创建时的线程(应该是主线程没测试),

moveToThread并不会把new 类中的对象同时移动到新的线程中。故而,造成子类调用子类内对象时,发生错误,提示,不在一个线程中。

解决方法:

思路:在moveToThread之后创建类内对象。

方法:使用Qt::QueuedConnection。把要new的类中的对象成员等,放在一个slot中,在主类中定义一个信号,并connect连接要new的类中的slot,并在主类中emit这个信号,

使用Qt::QueuedConnection第五参。

 

标签:moveToThread,Qt,对象,创建,线程,关于,new
From: https://www.cnblogs.com/Lvdabai-Lvshen/p/17172851.html

相关文章

  • 关于亚马逊SP-API接口PII申请的一些建议
    网站域名以及你提交的所有资料,不要重复,比如域名,不要你之前申请的时候填写过,被拒绝了,后来申请又填写,这就是资料重复了,资料重复了,你申请公共的亚马逊SP-API开发者PII权限是......
  • QT 使用QSetting读取配置文件中的中文乱码
    转载:https://www.shuzhiduo.com/A/kmzL3jjKdG/windows下方案:读配置文件之前添加以下语句:settings.setIniCodec(QTextCodec::codecForName("UTF-8"));//在此添加编码格式......
  • 关于HTTP/3的小知识点
    客户端用TCP发送了三个包,但服务器所在的操作系统只收到了后两个包,第一个包丢了。那么内核里的TCP协议栈就只能把已经收到的包暂存起来,“停下”等着客户端重传那个丢失的......
  • 关于quartus II的导入以前的工程,QSF文件出现的错误的解决方案。
    在有时候打开以前的工程,或者别人做好的例程会遇到一些报错信息。具体报错信息如下:     报错信息语句行: 在文件QSF文件中有几行出错,显示错误读取,即不能打开......
  • QT 设置QLabel的字体颜色
    m_labelTitletext->setText("仿真系统");//设置字号QFontft;ft.setPointSize(16);m_labelTitletext->setFont(ft);//设置颜色QPalette......
  • Qt-FFmpeg开发-视频播放【软解码 + OpenGL显示RGB图像】(3)
    Qt-FFmpeg开发-视频播放【软解码+OpenGL显示RGB图像】目录Qt-FFmpeg开发-视频播放【软解码+OpenGL显示RGB图像】1、概述2、实现效果3、FFmpeg软解码流程4、主要代码4.......
  • 2023-03-02 记录一下关于chatGPT使用方法
    国内版:在线免费web版:https://chat.forchange.cn/(不用登录)https://app.writesonic.com/login(要登录)在线免费微信版:AI对话未来(这个不知道怎么分享,因为它用起来就相当于一......
  • CAN-关于CAN过滤器的一些设置方法
                                                       CAN过滤......
  • 关于本地项目上传到gitlab
    两种方式的说明,如果是以学习的目的,建议使用第一种方式;如果是为了快速把代码上传到gitlab,建议使用第二方式;查看git配置的命令,注意:不同的目录,配置项也不尽相同:gitconfig--......
  • PyQt5 自然语言处理学习笔记(一)
    前言最近想将自然语言处理的项目进行可视化,尽量还是使用回Python语言,因此打算用PyQT来实现相应的功能。入门案例一个简单的自然语言处理的demo,使用PyQt框架,该demo可以读......