Я работаю над приложением, которое загружает содержимое файла на сервер.
Для загрузки файла на сервер я использую класс 'QNetworkAccessManager'.Поскольку он работает асинхронно, я изменил его на синхронный, используя QEventLoop.
Class FileTransfer
{
Public :
QNetworkAccessManager mNetworkManager;
Void Upload(QNetworkRequest request, QIODevice *data)
{
responce = mNetworkManager.put(request, data);
EventLoop.exec();
ReadResponce(responce);
}
Void Stop()
{
responce ->close();
}
}
В моем примере приложения у меня есть 2 окна.1-й, чтобы выбрать файлы, 2-й, чтобы показать прогресс.
Когда пользователь нажимает кнопку загрузки в первом окне, отображается 2-е окно, а затем я создаю объект FileTransfer и запускаюзагрузка.
При загрузке файла, если пользователь закрывает форму, в деструкторе окна я вызываю остановку ' FileTransfer ', после чего удаляю ' FileTransfer 'object.
Но здесь функция Upload () еще не завершена, поэтому она вылетит.
Пожалуйста, помогите мне: Как ждать в функции stop () , пока не будет завершена функция Upload ()