继承QThread
class MyThread : public QThread在构造函数里面使用
connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply *)));connect的第三个变量this指的是这个线程本身,还是指主线程?
为什么总报错
QObject: Cannot create children for a parent that is in a different thread.
网上查的有点看不懂,能不能通俗的讲一下?
this指的是对象本身,并不代表线程;
QThread类及其子类的对象只是一个用于管理线程的普通对象,跟1L说的一样,对象所属的线程取决与创建对象的线程,只有QThread的RUN()函数体里的代码才会在子线程里运行,具体介绍,你可以看文档。
这个报错,应该是在MyThread定义了某个私有成员,但是又在MyThread重新实现的的run函数体里使用了该成员变量导致的吧。你没给出具体的代码,我不敢肯定喔
还想问一下,在qt4中也是这样的吗?你说的没错,一下就明白了,十分感谢!这个this对应的对象在哪个线程创建,slot的this.replyFinished就在哪个线程执行
指的这个类、、MyThread
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。