estoy usando Qt 4.6.3 y el siguiente código no-trabajoesperar QNetworkReply por terminado
QStringList userInfo;
QNetworkRequest netRequest(QUrl("http://api.stackoverflow.com/1.1/users/587532"));
QNetworkReply *netReply = netman->get(netRequest);
// from here onwards not working
netReply->waitForReadyRead(-1);
if (netReply->isFinished()==true)
{userInfo << do sth to reply;}
return userInfo;
ya que esta función devuelve un QStringList vacío, la aplicación se bloquea. ¿Cómo que esperar hasta que la solicitud ha terminado y luego procesar la respuesta dentro de una función
También la otra respuesta también incluye mención de QEventLoop, esta respuesta fue correcta en una vez. –
no he encontrado ninguna situación en la que se haya llamado al slot terminado. Sé que el documento dice que generalmente se llama pero para mí siempre se llama – chikuba
. Solo significa que debe considerar conectarse a algunas señales adicionales. No importa si "siempre me llaman". Puede haber una situación (como dicen los documentos) cuando no obtendrá la señal de finalizado(), por lo que su ciclo de evento se bloqueará –