QThttp程序

#ifndef WIDGET_H

#define WIDGET_H

#include <QWidget>

#include <QtNetwork>

#include <QNetworkAccessManager>

#include <QNetworkReply>

#include <QNetworkRequest>

QT_BEGIN_NAMESPACE

namespace Ui { class Widget; }

QT_END_NAMESPACE

class Widget : public QWidget

{

Q_OBJECT

public:

Widget(QWidget *parent = nullptr);

~Widget();

QNetworkAccessManager *manager;

private:

Ui::Widget *ui;

private slots:

void on_pushButton_clicked();

void GetFinished(QNetworkReply *reply);

};

#endif // WIDGET_H


#include "widget.h"

#include "ui_widget.h"

Widget::Widget(QWidget *parent)

: QWidget(parent)

, ui(new Ui::Widget)

{

ui->setupUi(this);

ui->lineEdit->setText("http://www.baidu.com/");

//建立新对象

manager = new QNetworkAccessManager(this);

//连接槽

connect(manager,&QNetworkAccessManager::finished,this,&Widget::GetFinished);

}

Widget::~Widget()

{

delete ui;

}

void Widget::on_pushButton_clicked()

{

QString url = ui->lineEdit->text();

manager->get(QNetworkRequest(QUrl(url)));

}

void Widget::GetFinished(QNetworkReply *reply)

{

//转换为utf-8编码,这样就可以显示中文了

QTextCodec *codec = QTextCodec::codecForName("utf8");

QString getData = codec->toUnicode(reply->readAll());

ui->textEdit->setText(getData);

}

相关推荐
郝学胜-神的一滴10 小时前
Qt 高级开发 024:QSplitter分裂器布局精讲
开发语言·c++·qt·程序人生·用户界面
-凌凌漆-11 小时前
【Qt】std::shared_ptr<>与std::make_shared<>
开发语言·qt
郝学胜_神的一滴13 小时前
Qt 高级开发 025:打造优雅界面的艺术与高效重构之道
c++·qt
十五年专注C++开发13 小时前
Qt之QScopedPointer、QScopeGuard、QScopedValueRollback使用及源码解读
开发语言·c++·qt·qscopedpointer·qscopeguard
yugi98783815 小时前
基于Qt的实用二维码生成解决方案
开发语言·qt
不爱吃糖的程序媛17 小时前
环境搭建教程:HarmonyOS PC 录屏工具(Qt5 + OHOS Native Media)
qt·华为·harmonyos
-凌凌漆-17 小时前
【Qt】C++中protected与private的区别
开发语言·c++·qt
-凌凌漆-18 小时前
Qt QML应用层框架
开发语言·qt
走好每一步2 天前
1、VTK+QT + cmake编程 三维圆柱体
qt·vtk
小小码农Come on2 天前
Qt::WA_StyledBackground属性的作用
开发语言·qt