Based on my earlier comment that subclassing QThread is wrong, what you need to do is create your class inherited from QObject and then move that to the new QThread.
So you'd have a class which looks something like this: -
class NetworkInstance : public QObject
{
Q_OBJECT
public:
NetworkInstance();
public slots:
void Run();
void socketConnected();
void socketError();
// etc for other slots...
private:
class QTCPSocket* m_pSocket;
}
Create your Network instance object and thread: -
QThread* pThread = new QThread;
NetworkInstance* pNetworkInstance = new NetworkInstance;
Create the QTCPSocket instance and connect the signals / slots in your NetworkInstance class and then create the QThread and move your class to the thread: -
pNetworkInstance->moveToThread(pThread);
Finally, start the thread running: -
pThread->start();