我正在运行QtCreator 3.2.0,基于Windows 8.1上的Qt 5.3.1。
似乎无论我想加载什么网站,onLoadFinished插槽总是返回 false 。我尝试加载有和没有SSL的网站,都失败了。
当我尝试加载本地资源时,一切运行良好。所以我用wireshark监视我的网络,我的Qt应用程序甚至没有发送请求,我还用QUrl :: isValid()检查了QUrl,尝试使用QWebView :: load()而不是QWebView :: setUrl()并运行我的管理员申请。没有任何效果。
我在代码中找不到任何错误,我有点觉得这是一个错误,但我不确定。
mainwindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->webView->page()->networkAccessManager(), SIGNAL(finished(QNetworkReply*)),
this, SLOT(errorcheck(QNetworkReply*)));
QUrl url("http://www.nasa.gov/");
ui->webView->setUrl(url);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_webView_loadFinished(bool arg1)
{
ui->label->setText(arg1 ? "success" : "failure");
}
void MainWindow::errorcheck(QNetworkReply* QNR) {
qDebug() << QNR->errorString();
}
输出为:"Host www.nasa.gov not found"
答案 0 :(得分:2)
尝试
connect(QWebView->page()->networkAccessManager(), SIGNAL(finished(QNetworkReply*)),
this, SLOT(errorcheck(QNetworkReply*)));
void MainWindow::errorcheck(QNetworkReply* QNR) {
qDebug()<<QNR->errorString;
}
并检查是否有任何错误发生。