QThread和Custom类

时间:2015-05-07 01:29:36

标签: c++ qthread

我开发了一个MyDevice类,它是一个C到C ++的包装器。我想创建一个线程,其中将运行该类中的所有方法。

我已经按如下方式定义了这个类:

class DeviceMngr
{
    Q_OBJECT
    QThread DeviceThread;

public:
    DeviceMngr();
    ~DeviceMngr();
    void OpenDevice();

在main.cpp中,我做了:

DeviceMngr *MyDevice = new DeviceMngr;

我想要的是将MyDevice移动到我认为使用的线程:

MyDevice->moveToThread(&DeviceThread);

之后,我计划创建信号/插槽以将主线程连接到DeviceMngr。

奇怪的是moveToThread不会显示为自动完成。构建不识别移动。

我是否错过了Qthread中的某些内容?

1 个答案:

答案 0 :(得分:1)

您的 DeviceMngr 类似乎不是从QObject派生的。 moveToThread是QObject类的实例方法。

因此,为了能够使用moveToThread,请首先从QObject派生您的类。这link可能会有所帮助。