Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Signal - Slot между потоками не работает
-
Все добрый день. Пытаюсь отправить сигнал из одного потока и принять через слот в другом. Делаю так:
MakePost *worker; QThread *workerThread; worker = new MakePost(Data, SubUrl, requestString); workerThread = new QThread(this); connect(workerThread, SIGNAL(started()), worker, SLOT(CreatePost())); connect(workerThread, SIGNAL(finished()), worker, SLOT(deleteLater())); connect(worker, SIGNAL(SendTest(QString)), this, SLOT(GetTest(QString))); worker->moveToThread(workerThread); worker->manager.moveToThread(workerThread); workerThread->start();
получаю ошибку:
QObject::connect: Cannot connect MakePost::SendTest(QString) to (null)::GetTest(QString)
Подскажите, что делаю не так? Заранее спасибо за помощь!
-
А
this
здесь это кто?
-
this это некий класс function и метод SendPost
Вызывается по нажатию кнопки:
function *FUNC = new function(); FUNC->SendPost();
-
Ну вы этот
connect
делаете, надо полагать, в конструкторе этого самого класса? Просто в ошибке оно говорит, что ему ни про какой класс не известно, и там вообщеnull
.