核心代碼如下:
1 QNetworkAccessManager* m_manager = new QNetworkAccessManager; 2 QNetworkRequest request; request.setUrl(QUrl(QString("http://wthrcdn.etouch.cn/weather_mini?city="))); 3 m_manager->get(request);//向網頁發起get請求 4 connect(m_manager, SIGNAL(finished(QNetworkReply*)), this,SLOT(dealMsg(QNetworkReply*)));//請求完成,獲取數據並在槽函數中進行處理 1 void weather::dealMsg(QNetworkReply * reply)//對數據進行解析 2 { 3 QByteArray array = reply->readAll(); 4 QJsonParseError error; 5 QJsonDocument data = QJsonDocument::fromJson(array, &error); 6 if (!data.isNull()) { 7 QJsonObject obj = data.object(); 8 if (obj.contains("data")) { 9 QJsonValue val = obj.value("data"); 10 ...... 11 } 12 reply->deleteLater(); 13 }