1// MainWindow.h 2class MainWindow : public QMainWindow 3{ 4 Q_OBJECT 5 6public: 7 explicit MainWindow(QWidget *parent = 0); 8 ~MainWindow(); 9 10public Q_SLOTS: 11 void button1Click(); 12 void reply(QNetworkReply *reply); 13 14private: 15 Ui::MainWindow *ui; 16}; 17 18// MainWindow.cpp 19#include <QUrl> 20#include <QNetworkReply> 21#include <QNetworkRequest> 22#include <QNetworkAccessManager> 23 24MainWindow::MainWindow(QWidget *parent) : 25 QMainWindow(parent), 26 ui(new Ui::MainWindow) 27{ 28 ui->setupUi(this); 29 QObject::connect(ui->pushButton_1, SIGNAL(clicked()), this, SLOT(button1Click())); 30} 31 32MainWindow::~MainWindow() 33{ 34 delete ui; 35} 36 37void MainWindow::reply(QNetworkReply *reply) 38{ 39 qDebug() << reply->readAll().size(); // 获取的网页数据大小,0表示下载失败 40 reply->deleteLater(); 41} 42 43void MainWindow::button1Click() 44{ 45 QNetworkAccessManager *nm = new QNetworkAccessManager(this); 46 // 必须用信号和槽连接 47 connect(nm, SIGNAL(finished(QNetworkReply*)), this, SLOT(reply(QNetworkReply*))); 48 // 需要下载的网页url地址,有些网址用这种简单方法无法获取数据 49 QNetworkRequest request(QUrl("http://www.baidu.com")); 50 nm->get(request); 51}
Qt简单下载网页
Stella981
2021-10-12
1117 0 0
点赞
收藏
评论区
加载中...