• 4541阅读
  • 0回复

[提问]在Qthread中用Qprocess,出了问题,信号槽放在run()里面不执行 [复制链接]

上一主题 下一主题
离线cp790621656
 
只看楼主 倒序阅读 楼主  发表于: 2012-10-13
  1. void Thread::run()
  2. {
  3.     ping=new QProcess;
  4.     ping->start("regedit");
  5.     output=tr("");
  6.     connect(ping,SIGNAL(readyRead()),this,SLOT(readoutput()));//信号槽失败,不能到readoutput函数
  7.     QString q0="信号槽结束";
  8.     qDebug()<<q0;
  9. }
  10. void Thread::readoutput()
  11. {
  12. //    output+=ping->readAll();
  13. //    qDebug()<<output;
  14.     QString q0="进入Threadrun函数";
  15.     qDebug()<<q0;
  16. }
信号槽的槽函数不执行请问这个是什么原因。打包的http://www.everbox.com/f/8AYgJsUs7kg2sLDj1OmuqidK7S

已经解决
已经解决原因在于在thread中用了qprocess的话引起父子线程问题,蛋碎ping->moveToThread(this);
run(){  最后加上 exec();  }




快速回复
限100 字节
 
上一个 下一个