class MyThread : public QThread MyThread() { QTcpSocket socket = new QTcpSocket(); } void run() { socket->write(QByteArray); }
class MyThread : public QThread{ MyThread() { socket = new QTcpSocket(); qDebug() << "OLD socket thread: " << this->thread(); // *1 socket->setParent(0); socket->moveToThread(this); qDebug() << "NEW socket thread: " << this->thread(); // *2 } void run() { socket->write(QByteArray); } void socketWrite(QByteArray) { qDebug() << "WRITE socket thread: " << this->thread(); // *3 socket->write(QByteArray); }}
void run() { this->checkRS() } void checkRS() { ..... ..... socket->socketWrite() } void socketWrite() { socket->write() }
C++ (Qt)socket = new QTcpSocket();
C++ (Qt)MyThread::MyThread(){ moveToThread( this ); // Перемещаем сам объект класса MyThread в контекст его потока ...}
C++ (Qt)MyThread::MyThread(){ moveToThread( this ); ...}