Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 30.09.2011, 18:22
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Есть следующее (псевдо-код):КодCclass RequestMaker: public QObject{ Q_OBJECT private: QNetworkAccessManager mgr_; public: RequestMaker(QObject* parent) : QObject(parent), mgr_(this) { connect(&mgr_, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkReplyReceived(QNetworkReply* ))); } void sendRequest(...) { // compose request mgr_.post(...); } public signals: void responseReceived(Response*); private slots: void networkReplyReceived(QNetworkReply* reply) { // convert reply to a special struct Response* resp = ResponseMaker::make(reply); emit responseReceived(resp); reply->deleteLater(); }};Данный класс используется в MainWindow: public QMainWindow, устанавливая слот на responseReceived(). Выполняет sendRequest() и в слоте responseReceived() делает widget.update(). После чего seg. fault.Подозреваю, что слот выполняет в другом треде, и из-за этого такое поведение. Как заставить нормально отрабатывать данный сценарий с данным кодом? Может в каком-то месте надо сделать moveToThread() ?Спасибо.
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
как установить приложение (майл агент) на смарт и как с ним работать может подскажет кто нибудь установил но приложение Guest Ещё вопросы и ответы из архива 6 0 16.01.2012 20:22
Пропал раздел ПРИЛОЖЕНИЕ Guest Новые вопросы и ответы 4 0 28.09.2011 00:13
Меню—Переход—Любая папка (открывается другим приложение но не Nautilus) (РЕШЕНО) Guest Новый архив 3 0 27.09.2011 15:20
[РЕШЕНО] Безопасное приложение, чтобы вырезать часть видео. Guest Новый архив 2 0 27.09.2011 12:25



© www.otvetnemail.ru - Форум вопросов и ответов.