2015-05-07 34 views
0

我開發了一個類MyDevice,它是一個C到C++包裝器。我將創建一個線程,其中將運行該類中的所有方法。QThread和自定義類

我定義爲如下類別:

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

看來你的DeviceMngr類不是從QObject派生的。 moveToThread是QObject類的實例方法。

因此,爲了能夠使用moveToThread,請首先從QObject派生您的類。這link可能會有所幫助。