Функция-член run () выполняется в другом потоке, а не в потоке, в котором был создан объект QNetworkRequestManager
.
Подобные проблемы с различными потоками возникают постоянно с Qt , когда вы используете несколько потоков. Каноническим способом решения этой проблемы является использование сигналов и слотов .
Создайте слот в объекте, к которому принадлежит QNetworkRequestManager
, создайте сигнал в ResultThread и соедините оба где-нибудь, конструктор ResultThread было бы хорошим местом.
Код, который в данный момент находится в ResultThread :: run () , отправляется в новый слот и заменяется на emit(yourSignal())
. При необходимости отправьте указатель на ваш ResultThread в качестве параметра с вашей функцией emit, чтобы получить доступ к функциям / переменным-членам.