我正在尝试使用 QT QNetworkAccessManager 类来管理多线程 C++/QT 应用程序中的一些下载。
在工作线程上(编辑:除了下载之外,由于其他原因,线程是分开的),我想访问外部服务器并准备好接收带有代码的结果:
...
m_nam = new QNetworkAccessManager(this);
QNetworkReply *reply = m_nam->get(request);
connect(m_nam, SIGNAL(finished(QNetworkReply *)), this,
SIGNAL(finished(QNetworkReply *)));
...
但我可能会在下载完成之前决定对结果不感兴趣。
所以我想建立一种通过发出信号do_abort()来断开与另一个线程的连接的方法。
什么表明自己是:
connect(this, SIGNAL(do_abort()), reply, SLOT(abort()));
但我认为这不会起作用,因为 abort 不是 QNetworkReply 的插槽。
那么如何设置一种机制来停止从另一个线程进行此下载?我可以继承 QNetworkReply 并给该类适当的插槽。但我也想了解情况。