生活随笔
收集整理的這篇文章主要介紹了
Qt网络编程之实例一GET方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看了兩天的Qt網絡編程,其實主要就是看了看QNetworkAccessManager、QNetworkRequest和QNetworkReply這三個類的主要內容。在之前,Qt網絡編程主要是使用QHttp等類,但是現在在幫助手冊中這些類已經標記為過時的,所以,現在用Qt編寫網絡程序最好還是使用上面的三個類,之前也說過,對于一個應用程序來說,一個QNetworkAccessManager已經足夠了。不知道你有沒有通過名字看出這三個類的聯系呢?這里再貼一下三個類的官方說明,加強印象,也有助于大家對照接下來的示例看。
?
| QNetworkAccessManager QNetworkRequest QNetworkReply
| Allows the application to send network requests and receive replie Holds a request to be sent with QNetworkAccessManager Contains the data and headers for a request sent with QNetworkAccessManager |
個人感覺三者關系可簡單理解如下:
?
? ? ? ? ? ?接下來就看一個示例,其實主要內容還是Nokia給的示例,但是源程序有錯誤之處,我這里進行修改了,這里先貼一下效果:
? ? ? ? ?再來貼一下主要的代碼,代碼簡單,一看就懂,呵呵:
?
[cpp]?view plaincopy
#include?"mainwindow.h"??#include?"ui_mainwindow.h"????#include?<QNetworkReply>??#include?<QNetworkRequest>????MainWindow::MainWindow(QWidget?*parent)?:??????QMainWindow(parent),??????ui(new?Ui::MainWindow)??{??????ui->setupUi(this);????????nam?=?new?QNetworkAccessManager(this);??????QObject::connect(nam,?SIGNAL(finished(QNetworkReply*)),???????????????this,?SLOT(finishedSlot(QNetworkReply*)));??}????MainWindow::~MainWindow()??{??????delete?ui;??}????void?MainWindow::on_pushButton_clicked()??{??????QUrl?url("http://www.hust.edu.cn/");??????QNetworkReply*?reply?=?nam->get(QNetworkRequest(url));????????????????????}????void?MainWindow::finishedSlot(QNetworkReply?*reply)??{??#if?1?????????????????QVariant?statusCodeV?=???????reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);????????????QVariant?redirectionTargetUrl?=???????reply->attribute(QNetworkRequest::RedirectionTargetAttribute);???????????????????if?(reply->error()?==?QNetworkReply::NoError)???????{????????????????????????????????????????????????????????????QByteArray?bytes?=?reply->readAll();????????????????????QString?string?=?QString::fromUtf8(bytes);?????????????ui->textBrowser->setText(string);???????}????????????else???????{????????????????}???????????????????reply->deleteLater();??#endif??}??
? ? ? 好了,今天就到了
總結
以上是生活随笔為你收集整理的Qt网络编程之实例一GET方式的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。