Qt5.5中使用QFtp类

在Qt5中使用QFtp类

从 Qt5 之后,Qt Network 发生了很大的变化,Qt5已经废除 QFtp 和 QUrlInfo 类,改用 QNetworkAccessManager助手中关于此部分描述如下:

The QFtp and QUrlInfo classes are no longer exported. Use QNetworkAccessManager instead. Programs that require raw FTP or HTTP streams can use the Qt FTP and Qt HTTP compatibility add-on modules that provide the QFtp and QHttp classes as they existed in Qt 4.

使用 QNetworkAccessManager 可以实现 Ftp 的上传/下载功能,但有些原本 QFtp 有的功能 QNetworkAccessManager 却没有提供,例如:list、cd、remove、mkdir、rmdir、rename 等。这种情况下,就不得不使用 QFtp,值得庆幸的是 QFtp 一直在维护,只需要下载源码自行编译即可使用。

1.下载QFtp源码

从 GitHub 下载 QFtp:

https://github.com/qt/qtftp

或者使用命令下载 :

git clone https://github.com/qtproject/qtftp

2.编译源码

如图用QTCreator打开项目。

编译动态库,静态库

修改qtftp\src\qftp\ftp.pro文件

将原来的两句CONFIG修改为:

       CONFIG += static

       CONFIG += shared

然后编译编译完成后会在构建目录\lib\目录下生给予成我们需要的动态库静态库文件。

3.部署编译好的库

 本文使用的是Windows下Qt5.5.1,安装目录是D:\Qt\Qt5.5.1

3.1将动态库(.dll文件)拷贝至D:\Qt\Qt5.5.1\5.5\mingw492_32\bin目录下

3.2将静态库(.a文件)及.prl文件 拷贝至\Qt\Qt5.5.1\5.5\mingw492_32\lib目录下

3.3将构建目录下/include/ 目录下的 QtFtp文件夹拷贝至\Qt\Qt5.5.1\5.5\mingw492_32\include目录下

3.4将\qtftp\src\qftp目录下的两个头文件qftp.h和qurlinfo.h拷贝至\Qt\Qt5.5.1\5.5\mingw492_32\include\QtFtp 目录下

        3.4.1在该目录下创建一个文件QFtp注意没有扩展名

        3.4.2用记事本打开QFtp文件,并且在其中写上#include”qftp.h”

5.5 将构建目录下文件 \mkspecs\modules-inst\qt_lib_ftp.pri 拷贝至\Qt\Qt5.5.1\5.5\mingw492_32\mkspecs\modules目录

4.使用编译好的库,在项目的 .pro文件添加

  QT    +=   ftp

即可使用QFtp类模块功能

 

 

 

Supongo que te gusta

Origin blog.csdn.net/ggggyj/article/details/109765094
Recomendado
Clasificación