C++ Qt 5.6-从未调用QNetworkReply finished()
我正在尝试使用QNetworkReply执行一个简单的GET请求,但是调用了finished()never GET,下面是我的代码C++ Qt 5.6-从未调用QNetworkReply finished(),c++,qt,C++,Qt,我正在尝试使用QNetworkReply执行一个简单的GET请求,但是调用了finished()never GET,下面是我的代码 QtTest::QtTest(QWidget *parent):QWidget(parent){ ui.setupUi(this); auto network_access_manager = new QNetworkAccessManager(this); auto reply = network_access_manager->get(QNe
QtTest::QtTest(QWidget *parent):QWidget(parent){
ui.setupUi(this);
auto network_access_manager = new QNetworkAccessManager(this);
auto reply = network_access_manager->get(QNetworkRequest(QUrl("http://www.whatsmyip.org/")));
connect(reply, SIGNAL(finished()), this, SLOT(download_finished()));
qDebug() << "Started";
}
void QtTest::download_finished() {
qDebug() << "Finished";
}
更改下载完成的定义以包含回复 信号是;已完成(QNetworkReply*回复)so
确保在connect语句中包含该参数。验证是否将download_finished()声明为插槽
class QtTest : public QObject
{
Q_OBJECT
public:
QtTest(QObject *parent = 0);
private slots:
void download_finished();
};
如果我这样做,我就会出错。QObject::connect:qttest中没有此类信号QNetworkReplyHttpImpl::finished(QNetworkReply*reply)。cpp:18正确的格式为:;连接(管理器,信号(完成(QNetworkReply*)),此,插槽(replyFinished(QNetworkReply*));启动时应用程序输出中是否有错误消息?
QObject::connect:Cannot connect(null)::aboutToQuit()到QNativeWifiEngine::closeHandle()异常在qtest.exe的0x749040F8(KernelBase.dll)抛出:0x000006A6:绑定句柄无效。
宏Q_对象声明为类?在我的测试中,效果很好。我还尝试了connect(reply,&QNetworkReply::finished,this,&qtest::download_finished)代码>尝试手动删除生成中生成的文件“Makefile”并重新编译。检查完整的示例,看看它是否适合您。如果有,你还有其他问题。如果没有,您的Qt安装不知何故已损坏/损坏。就我而言,QtTest在调用download_finished之前已经发布。
QtTest::download_finished(QNetworkReply *reply)
{
.... etc
class QtTest : public QObject
{
Q_OBJECT
public:
QtTest(QObject *parent = 0);
private slots:
void download_finished();
};