当前位置: 首页 > news >正文

宁夏网站建设电话关于字体设计的网站

宁夏网站建设电话,关于字体设计的网站,wordpress演示版,wordpress搬家后页面空白前言 之前只写过通过http协议通信,没有写过下载http地址中的文件或者文件夹,了解一下在QT下如何下载。 其实很简单,同使用协议通信相同的是,创建QNetworkAccessManager和QNetworkRequest,设置QNetworkRequest的url&a…

前言

之前只写过通过http协议通信,没有写过下载http地址中的文件或者文件夹,了解一下在QT下如何下载。

其实很简单,同使用协议通信相同的是,创建QNetworkAccessManager和QNetworkRequest,设置QNetworkRequest的url,通过get请求接收QNetworkReply中数据,利用downloadProgress信号接收每次下载下来的内容,直到下载完成。

代码如下:

 .pro

主要是加上network模块

#-------------------------------------------------
#
# Project created by QtCreator 2023-10-26T18:29:32
#
#-------------------------------------------------QT       += core gui networkgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = load_http_file
TEMPLATE = app# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \widget.cpp \HEADERS += \widget.h \FORMS += \widget.ui

界面:

 widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QFile>
#include <QUrl>
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QNetworkAccessManager>
#include <QEventLoop>
#include <QTimer>namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();bool downloadFile(QString url);
private slots:void on_load_zip_clicked();private:Ui::Widget *ui;private:bool flag_download = false;
};#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include <QDir>
#include <QThread>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{}Widget::~Widget()
{delete ui;
}void Widget::on_load_zip_clicked()
{downloadFile(ui->lineEdit_url->text());
}bool Widget::downloadFile(QString url)
{if(flag_download){qDebug()<<"有正在下载中的文件,已停止当前下载。";return false;}int timeout = 1000 * 60; //* 3;QString path = "3D";QDir dir(path);if(!dir.exists()){if(!dir.mkdir(dir.absolutePath())){qDebug()<<"创建3D文件夹失败!";return false;}}path = path + "/" + url.section('/',-1,-1);qDebug()<<"url:"<<url<<" path:"<<path;QFile file(path);if (!file.open(QIODevice::WriteOnly)){qDebug()<<"打开待下载文件失败!";return false;}flag_download = true;QNetworkAccessManager networkManager;QNetworkRequest request;request.setUrl(QUrl(url));QNetworkReply *reply = networkManager.get(request);QTimer timer;QEventLoop eventLoop;connect(reply, &QNetworkReply::downloadProgress, [=, &file, &timer](qint64 bytesReceived,qint64 bytesTotal){qDebug()<<"当前下载的文件大小:"<<bytesReceived<<"   总文件大小:"<<bytesTotal;if (timer.isActive())timer.start(timeout);file.write(reply->readAll());});connect(reply, &QNetworkReply::finished, &timer, &QTimer::stop);connect(reply, &QNetworkReply::finished, &eventLoop, &QEventLoop::quit);connect(&timer, &QTimer::timeout, &eventLoop, &QEventLoop::quit);timer.start(timeout);eventLoop.exec();//QEventLoop::ExcludeUserInputEventsflag_download = false;if (reply->error() != QNetworkReply::NoError){qDebug()<<"请求失败!失败原因:"<<reply->error();file.close();delete reply;return false;}if(timer.isActive()){qDebug()<<"请求超时!";timer.stop();file.close();delete reply;return false;}qDebug()<<"下载3D文件成功!";file.close();delete reply;return true;
}
http://www.yayakq.cn/news/815166/

相关文章:

  • 宁波建设银行网站分部商城网站内容模块有哪些
  • 支付宝也做网站吗wordpress 小论坛小程序
  • 网站建设结论如何制作建筑公司网站
  • 怎样建立公司的网站电子商务网站特点
  • 网站建设项目的流程图哪个公司的app软件定制
  • 收录网站源码wordpress 设置数据库
  • 个人网站制作流程图片常州平台网站建设
  • 福田区网站建设企业网站 用个人备案
  • 手机定制网站建设苏州营销型网站设计
  • 班级手机网站墨刀怎样做网站建设与管理需要哪些证书
  • 顺义网站建设昆山规划建设局网站
  • 做视频网站 带宽wordpress正则
  • 国外空间做网站怎么样域名申请成功后怎么做网站
  • 网络公司网站开发域名购买教程
  • 做直播小视频在线观看网站短视频营销名词解释
  • 做网站宁波大点的网络公司建立平台型组织第一步需要做什么
  • 百度网站搜索量提高网站主页怎么做
  • 寮步镇网站仿做纪检监察工作 网站建设
  • 亚马逊 怎么做国外网站网站开发的步骤
  • 网站建立百度信任郑州百度seo
  • 国外推广网站数据库网站有哪些
  • 网站制作与网页制作企业网站建设方案ppt
  • 深圳商城网站设计价格如何给网站数据备份
  • 荆州网站建设荆州网站设计文档模板
  • 滨州网站建设sdshiya宠物用品技术支持 东莞网站建设
  • 网站出现建设中新媒体营销论文选题方向
  • 网站建设有啥费用开发技术网站开发技术
  • 张掖市住房和城乡建设局网站网页游戏传奇霸主攻略
  • 公司网站开发交接注意事项wordpress页面传递参数
  • 企业营销网站建设哪里建设网站最好用