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了吧。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值