QObject.moveToThread(thread)如果thread是该对象的子级

时间:2012-04-19 04:43:37

标签: qt qt4 pyqt qthread qobject

我想使用该对象为子QObject主题)创建QThread对象)作为父级(用于在对象处于活动状态时保持线程处于活动状态)并生成object.moveToThread(thread)但是启动线程的信号不起作用在这种情况下。

简单地:

  1. object 拥有线程
  2. object 移至线程
  3. 信号启动线程无法正常工作
  4. 发生了什么事?

1 个答案:

答案 0 :(得分:1)

[编辑]:由于评论而丢掉我的初步答案

也许就像下面那样:

  1. 创建对象
  2. 创建线程,但不要为其分配父级
  3. 像往常一样将Thread的finished()信号连接到deleteLater()插槽
  4. 将Object的deleted()信号连接到线程的stop()插槽
  5. 然后,当您删除Object时,它将发出deleted(),这将停止该线程。线程将发出finished(),它将调用其deleteLater()槽。