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);

}

相关推荐
Quz2 小时前
QML 分隔线:Rectangle、菜单与工具栏分隔线用法
qt
Quz2 小时前
QML PathView 入门:直线路径与曲线路径
qt
实心儿儿4 小时前
Qt — 音视频文件
qt·音视频
Cx330❀7 小时前
【Qt 进阶指南】详解 Qt 常用标准对话框与主窗口组件架构
开发语言·qt·ui·性能优化·架构·图形渲染
阿钱真强道9 小时前
25 嵌入式操作系统 | 设备面板:用 Qt 控件把“设备“画出来(本节不接串口)
开发语言·qt·flask·架构设计·协议契约
kaixin_learn_qt_ing9 小时前
使用 PySide6 编写Qt程序
qt
艾莉丝努力练剑10 小时前
【QT】系统相关:多线程QThread基础
开发语言·网络·c++·qt·学习·大模型
xcyxiner1 天前
DicomViewer24 修复编译bug(window test 失败)
前端·qt
sycmancia1 天前
Qml——Rectangle元素
qt
sycmancia1 天前
Qml——Item元素
qt