Qt5编译使用QFtp

简介: 简述 使用 QNetworkAccessManager 可以实现 Ftp 的上传/下载功能(参考:Qt之FTP上传/下载),但有些原本 QFtp 有的功能 QNetworkAccessManager 却没有提供,例如:list、cd、remove、mkdir、rmdir、rename 等。这种情况下,就不得不使用 QFtp,值得庆幸的是 QFtp 一直在维护,只需要下载源码
+关注继续查看

简述

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

QFtp

下载

从 GitHub 下载 QFtp:

https://github.com/qt/qtftp

或者使用命令下载 :

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

完成之后,可以看到 qtftp 中包含源码及示例。

这里写图片描述

配置

下面,以 MSVC为例。

打开 qtftp.pro,将默认配置:

CONFIG += static
CONFIG -= shared

改为:

CONFIG += staticlib
CONFIG += shared

这样,生成 *.dll 的同时也会生成 *.lib

编译 QFtp,完成之后会在 lib 文件夹下生成 *.lib*.dll*.prl 文件。

这里写图片描述

  • 将 Qt5Ftpd.lib、Qt5Ftp.lib、Qt5Ftpd.prl、Qt5Ftp.prl 拷贝至 D:\Qt\Qt5.5.1\5.5\msvc2013\lib。
  • 将 Qt5Ftpd.dll、Qt5Ftp.dll 拷贝至 D:\Qt\Qt5.5.1\5.5\msvc2013\bin。
  • 将 qftp.h、qurlinfo.h 拷贝至 D:\Qt\Qt5.5.1\5.5\msvc2013\include\QtNetwork,并新建一个名为 QFtp 的文件(没有后缀名),然后用本写入 #include "qftp.h"

完成之后,就可以使用 QFtp 了。

使用

在 pro 中添加 QFtp 库:

CONFIG(debug, debug|release) {
    LIBS += -lQt5Ftpd
} else {
    LIBS += -lQt5Ftp
}

例如,如果要连接并登录到 FTP 服务器,这是简单的实现:

#include <QFtp>

// ...
QFtp *ftp = new QFtp(parent);
ftp->connectToHost("192.168.***.***", 21);  // 主机:192.168.***.*** 端口号:21  
ftp->login("wang", "123456");  // 用户名:wang 密码:123456
// ...

首先使用 connectToHost() 连接 FTP 服务器,然后通过 login() 登录到 FTP 服务器。登录成功之后,就可以调度其他操作(例如:list()、cd()、get()、put()、remove()、mkdir()、rmdir()、rename() 和 rawCommand())了。

更多参考

目录
相关文章
|
1月前
|
编译器 C语言 Windows
Qt 使用MinGW编译器调用MinGW编译生成的dll
Qt 使用MinGW编译器调用MinGW编译生成的dll
27 0
|
8月前
qt4.8.7 源码在win7+vs2010环境的x64编译(qt 64位)
qt4.8.7 源码在win7+vs2010环境的x64编译(qt 64位)
115 0
|
8月前
|
数据库 C++
Qt实现程序启动动画
Qt实现程序启动动画
Qt | 关于Qt Creator打开项目编译不过的问题
解决Qt Creator打开项目编译不过的问题。
618 0
|
编译器 C++ Windows
Qt&Vtk-001-编译
本文主要记录了博主在尝试编译VTK源码中遇到的问题,同时也感谢前辈的无私分享,使我们可以跟着前辈的步伐学习进步。
97 0
Qt&Vtk-001-编译
Qt6-Qt5代码移植到Qt6
尝试下Qt5的代码是否可以正常在Qt6上编译通过,使用的我网易云代码,这里测试的时候我先添加了5.12的版本进行测试没有问题,下面将切换到6.0的环境试一下。
702 0
Qt6-Qt5代码移植到Qt6
Qt-QSplashScreen-程序启动动画
Qt-QSplashScreen-程序启动动画
270 0
Qt-QSplashScreen-程序启动动画
|
编译器 数据库 C++
在Visual Studio高版本中使用Qt4,MSVC 2015/2017编译Qt 4.8.7源码
在Visual Studio高版本中使用Qt4,MSVC 2015/2017编译Qt 4.8.7源码
784 0
在Visual Studio高版本中使用Qt4,MSVC 2015/2017编译Qt 4.8.7源码
|
C语言
Qt使用MinGW编译,如何忽略警告
Qt使用MinGW编译,如何忽略警告
273 0
|
开发工具 Windows
WIN10+QT5.9+VS2017编译RedisDesktopManager
原文:WIN10+QT5.9+VS2015编译RedisDesktopManager 官方源码编译安装说明地址:http://docs.redisdesktop.com/en/latest/install/#build-from-source 最新版安装文件下载地址  https://download.
4518 0
相关产品
云迁移中心
推荐文章
更多