Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt 5.6-从未调用QNetworkReply finished()_C++_Qt - Fatal编程技术网

C++ Qt 5.6-从未调用QNetworkReply finished()

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

我正在尝试使用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(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();
};