Qt for windows 中QWebView如何上網

來源:互聯網
上載者:User

我向來沒怎麼研究過網路,因為我以前不做網路,所以沒怎麼研究過。整了好幾天才整的能上網。

想學點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 伺服器

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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.