Qt for windows 中QWebView如何上网

我向来没怎么研究过网络,因为我以前不做网络,所以没怎么研究过。整了好几天才整的能上网。

想学点qt,就在qt creator上弄着玩。什么layout啊,pushbutton啊,等等,整了半天,突然看到QWebView了,我想这个玩意儿可能应该是可以显示网页的吧。拖了一个出来玩玩。编译都无法通过,什么原因呢?找找吧,原来是在.pro文件上少了QT += webkit。编译一下,嘿,通过了。但是没显出任何东西来,咋个回事呢?

大半天又过去了,想起他自带的demo例子了。加载进来看看吧。还是一直处于connecting的状态,就是连接不上,唉。干脆问问别人吧。大胖子PM发话了,你看看代理设置了吗?

奇怪啊,我的代理都是设好了的啊,东找西找,总算看到demo例子运行后,自己有个设置代理的,赶紧改一下吧。哈哈,成功了。

一下子我明白了,我们的网络在域里,应该要有代理才能通到外网。虽然我对代理这个东西不熟,不过大概知道怎么回事,等以后再细细研究一下吧。

隔了几天,继续写程序吧。参照demo例子设置代理的方式,我在自己的mainwindow.h里面添加了一些东西:

#include <QtWebKit/QWebView>

#include <QtNetwork/QNetworkProxy>

#include <QtNetwork/QNetworkAccessManager>

#include <QSettings>

#include <QTextCodec>

 

class MainWindow : public QMainWindow

{

 

。。。

private:

Ui::MainWindow *ui;

QWebView *webV;

QNetworkProxy *proxy;

QNetworkAccessManager *netwkAcssMng;

};

 

mainwindow.cpp中也添加了代码:

MainWindow::MainWindow(QWidget *parent)

: QMainWindow(parent), ui(new Ui::MainWindow)

{

。。。

webV = qFindChild<QWebView *>(this, "webView");

netwkAcssMng = new QNetworkAccessManager;

 

QNetworkProxy proxy;

 

proxy = QNetworkProxy::HttpProxy;

proxy.setHostName(tr("xx.xx.xx.xx"));    //代理服务器

proxy.setPort(8080);

 

 

netwkAcssMng->setProxy(proxy);

webV->page()->setNetworkAccessManager(netwkAcssMng);

 

webV->load(QUrl("http://www.google.com.hk/"));

webV->show();

}

 

居然还是编译不通过,整半天,发现是在.pro文件里面少了QT += webkit network。

总算通过了,等待测试,哈哈~

成功了!顺利显示出了Google网页。虽然是个小小成功,但是还是挺开心的。

忘记了,我还delete netwkAcssMng;的。哈哈。

 也许不应该delete netwkAcssMng吧,人家都属于webV的page了吧。

 

你可能感兴趣的:(UI,windows,网络,delete,webkit,qt)