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

怎样做网站模板做哪种网站比较简单

怎样做网站模板,做哪种网站比较简单,阿里云上做网站,汕头东莞网站建设前言 之前只写过通过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/617506/

相关文章:

  • wordpress网站能APP吗wecenter整合Wordpress
  • 营业推广方案aso优化排名推广
  • 写作网站哪个好用深圳市场调研公司
  • 东莞网站建设服务公司上海公司做网站的价格
  • app开发网站建设培训班网站域名备案 更改吗
  • 做网站首页的图片怎么缩小百度免费网站申请注册
  • 什么网站容易收录广州最好的网站建设公司
  • 直接通过ip访问网站按营销型网站要求重做网站 费用
  • 网站打开慢做门图网站
  • wordpress主题发布站源码超便宜的网站
  • 常州个人网站设计如何建设网页游戏网站
  • 网站制作需要的材料扬州工程信息网
  • 长沙米拓建站建立app
  • 建设学校网站前的需求分析中山制作企业网站
  • 企业网站seo诊断开发公司审计稽查的内容
  • 网站网站建设网页设计seowhy教研室
  • flash全站案例网站预览网站怎么做seo步骤
  • 营销型网站建设公司易商标每年要交多少钱
  • 做网站pyton网站更换ip地址
  • 建设自己的网站需要哪些步骤怎么做好网站营销
  • php网站建设设计制作方案wordpress发布文章报错
  • 网站改版需求app官网入口
  • 伪静态网站配置做彩票网站多少钱
  • 南昌新建网站建设网站的宣传推广方式
  • wordpress标签增加彩色背景上海公司网站seo
  • 网站建设 图片上传太原免费自助建站模板
  • 盐城网站建设小程序公司淮南矿业集团廉政建设网站
  • django 做的网站wordpress无法发表文章
  • 服务器iis做网站网页设计html代码大全宽度代码
  • 工信部网站备案用户名wordpress 置顶特色