当前位置: 代码迷 >> QT开发 >> QT线程中动态在一个窗口上的QWidget创造QPushbutton不行么
  详细解决方案

QT线程中动态在一个窗口上的QWidget创造QPushbutton不行么

热度:19   发布时间:2016-04-25 03:42:30.0
QT线程中动态在一个窗口上的QWidget创建QPushbutton不行么?
报QObject::setParent: Canont set parent ,new parent is in a different thread.

用pthread_create 创建一个线程
在线程内使用QPushButton *pt=new QPushButton()
然后报那个错。

------解决方案--------------------
你新建的线程里面的控件肯定不能和另外一个线程的控件有父子关系,因为你没有办法保证两个线程的生命周期,Qt也不能让你这么做,你为什么不新建好控件之后,在新的线程里面show不就行了
------解决方案--------------------
pthread_create 创建的是不是非GUI线程啊。QPushButton 是GUI类,只能在GUI线程里创建
QPushButton *pt=new QPushButton()就失败了。可以跟踪一下Qt源码
  相关解决方案