是否可以将动态创建的对象移动到qthread中?

时间:2012-12-08 00:21:40

标签: qt qthread qt4.7

这是关于qthreads的一般性问题,我知道如何使用movethread()函数,但这是用于动态创建的对象。

用户将通过选择添加按钮在GUI应用程序上创建对象。如果用户想要删除创建的对象,也可以使用删除按钮。用户应该能够从列表视图中选择对象。我已经使用qstyleditemdelegate创建了自定义列表视图的示例,我知道如何将列表移动到模型中。我担心线程。

我想要做的是允许用户动态创建某个类的对象。然后将每个对象移动到qthread中。我应该继续看吗?任何提示,技巧或提示?

我可以创建一个将对象移动到线程中的函数吗?

Pseudo Code: 
void MoveThisObject(MyCustomObject Object)
{
       QThread* thread = new QThread;
       Object->moveToThread(thread);
       /****setup connections****/

       thread->start();
}

我还在写下我需要的东西,我还没有真正创建实际的应用程序。

1 个答案:

答案 0 :(得分:1)

您可以将QObject(当然,它不是QWidget)移动到不同的线程,无论它是否是动态创建的。大多数应用程序中的大多数QObject都是动态创建的,否则它们很难变成多态。