linux下qt5使用ftp_linux下qt 实现ftp上传创建文件夹 - CSDN
精华内容
参与话题
  • QT5使用QFtp类

    2020-07-30 23:32:11
    资源文件包括QT5使用qtftp的源码和库文件 1、qtftp的源码 2、QT5使用qtftp的库文件和使用说明 可以自己编译,也可以直接使用编译好的库文件,有使用说明
  • Qt5使用Qt4 QFTP方法

    2020-06-30 00:02:14
    这是在CSDN的第一篇, Qt项目中需要使用FTP下载 Qt5移除了QFTP模块,搜了点资料 整合一下 自己弄了一遍 可以使用 1. 下载QtFtp源代码 GitHub 有资源 https://github.com/qt/qtftp 下载之后解压文件。 编译...

    这是在CSDN的第一篇, Qt项目中需要使用FTP下载 Qt5移除了QFTP模块,搜了点资料 整合一下 自己弄了一遍 可以使用

     

    1. 下载QtFtp源代码

    GitHub 有资源

    https://github.com/qt/qtftp

    下载之后解压文件。

    编译环境:Win7(64bit)+Qt5.10.0+mingw53_32

    2. 将qt-qtftp文件夹移至C:\Qt\Qt5.10.0\5.10.0\Src目录,并更名为qtftp

    3. 修改C:\Qt\Qt5.10.0\5.10.0\Src\qtftp\src\qftp\qftp.pro文件中CONFIG -= shared为CONFIG += shared,不修改的话则只能生成静态库。

     

     修改C:\Qt\Qt5.10.0\5.10.0\Src\qtftp\src\qftp\qftp.h 中   #include <QtFtp/qurlinfo.h> 为  #include <qurlinfo.h> 

    4. 打开Qt的命令行,cd进入C:\Qt\Qt5.10.0\5.10.0\Src\qtftp目录,开始编译 : mingw32-make Makefile;。

    5. 将C:\Qt\Qt5.10.0\5.10.0\Src\qtftp\lib目录下生成的*.dll动态库文件(Qt5Ftp.dll、Qt5Ftpd.dll)复制到C:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin目录下。

    6. 将C:\Qt\Qt5.10.0\5.10.0\Src\qtftp\lib目录下生成的*.a和*.pri文件复制到C:\Qt\Qt5.10.0\5.10.0\mingw53_32\lib目录下。

    7. 将C:\Qt\Qt5.10.0\5.10.0\Src\qtftp\src\qftp目录下的qftp.h和qurlinfo.h复制到C:\Qt\Qt5.10.0\5.10.0\mingw53_32\include\QtNetwork目录下。

    8 .在C:\Qt\Qt5.10.0\5.10.0\mingw53_32\include\QtNetwork目录中新建一个没有后缀名的QFtp文件,内容为#include”qftp.h”。

    OK,就这样,就完成了QtFtp的编译。

    9. 将构建目录下文件 \mkspecs\modules-inst\qt_lib_ftp.pri 拷贝至C:\Qt\Qt5.10.0\5.10.0\mingw53_32\mkspecs\modules目录

    10.  工程中   在*.Pro 中 加入 QT += ftp 即可使用 #include <QFtp>

    11. 在Linux系统下 重复 第3步操作 更改为 CONFIG += staticlib  CONFIG += shared 按流程继续操作 得到  *.so文件 后续步骤相同

    文中有参考网络其他资源 

    展开全文
  • QT 实现FTP客户端

    千次阅读 2019-05-24 13:43:40
    本文基于QT5.8使用QNetworkAccessManager类进行利用FTP协议的上传和下载操作,Qt4中使用的QFtp模块在QT5后被移除,如果有需要可以去GitHub上下载编译后使用(官方地址:https://github.com/qt/qtftp),使用QFtp和...

    一、简述

    本文基于QT5.8使用QNetworkAccessManager类进行利用FTP协议的上传和下载操作,Qt4中使用的QFtp模块在QT5后被移除,如果有需要可以去GitHub上下载编译后使用(官方地址:https://github.com/qt/qtftp),使用QFtp和QUrlInfo可以实现获得服务器端的文件路径,结合TreeWidget实现目录预览。现在官方推荐使用的是QNetworkAccessManager类,在使用QNetworkAccessManager类之前,请先保证自己的QT版本为QT5.X

    我使用的服务器端是在Linux下配置的FTP服务器,客户端的QT代码是在Windows上编译运行的,FTP的服务器配置可以在我的另一篇博客中查看(https://blog.csdn.net/Sakuya__/article/details/86597994)。

    本文代码下载:

    CSDN下载

    GitHub下载

    百度云下载地址    提取码:wnnn

     


    二、界面展示

    输入FTP服务器地址,用户名和密码,我的Linux服务器IP地址为192.168.43.129,用户名为sakuya,密码为abcd1234。

    点击上传按钮选择文件上传

    上传成功后

     


    三、代码

    一、为了使用关于网络的类,首先,在Pro文件中加入一行

    QT      += network

    二、头文件mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QMainWindow>
    #include <QNetworkAccessManager>
    #include <QNetworkRequest>
    #include <QNetworkReply>
    #include <QMessageBox>
    #include <QFileDialog>
    #include <QMetaEnum>
    #include <QUrl>
    #include <QFile>
    #include <QDir>
    
    namespace Ui {
    class MainWindow;
    }
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    public slots:
        bool initFTP();
    
        void replyFinished(QNetworkReply*);
    
        void loadProgress(qint64 bytesSent, qint64 bytesTotal);
    
        QString getFileName(QString m_filePath);
    
        void readContent();
    
        void replyError(QNetworkReply::NetworkError error);
    
    private slots:
        void on_Btn_upload_clicked();
    
        void on_Btn_download_clicked();
    
    private:
        Ui::MainWindow *ui;
    
        QNetworkAccessManager *accessManager;
    
        QString ftpPath;
        QString user;
        QString password;
    
        QFile *file;
    
        QNetworkReply *reply;
    };
    
    #endif // MAINWINDOW_H

    三、mainwindow.cpp

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    
        // 设置进度条
        ui->progressBar->setValue(0);
        ui->progressBar->setAlignment(Qt::AlignRight | Qt::AlignVCenter); // 对齐方式
        ui->progressBar->setFormat(QString::fromUtf8("当前无任务:%1%").arg(QString::number(0, 'f', 1)));
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    // 初始化记录URL地址,用户名,密码,并检测URL地址的合法性
    bool MainWindow::initFTP()
    {
        // 判断有没有填写URL地址和用户名、密码
        if (ui->lineEdit_ftp->text().isEmpty()) {
            QMessageBox::critical(NULL, tr("Error"), "URL地址不能为空");
            return false;
        }
        else if (ui->lineEdit_user->text().isEmpty()) {
            QMessageBox::critical(NULL, tr("Error"), "user不能为空");
            return false;
        }
        else if (ui->lineEdit_user->text().isEmpty()) {
            QMessageBox::critical(NULL, tr("Error"), "密码不能为空");
            return false;
        }
        else {
            ftpPath = ui->lineEdit_ftp->text();
            user = ui->lineEdit_user->text();
            password = ui->lineEdit_password->text();
            // 检测URL地址是否合法
            QUrl url = QUrl(ftpPath);
            if (!url.isValid()) {
                QMessageBox::critical(NULL, tr("Error"), "URL地址不合法!");
                return false;
            }
            else if (url.scheme() != "ftp") {
                QMessageBox::critical(NULL, tr("Error"), "URL地址必须以ftp开头!");
                return false;
            }
            return true;
        }
    }
    
    // 删除指针,更新和关闭文件
    void MainWindow::replyFinished(QNetworkReply*)
    {
        if (reply->error() == QNetworkReply::NoError) {
                reply->deleteLater();
                file->flush();
                file->close();
            }
            else {
                QMessageBox::critical(NULL, tr("Error"), "错误!!!");
            }
    }
    
    // 更新进度条
    void MainWindow::loadProgress(qint64 bytesSent, qint64 bytesTotal)
    {
        ui->progressBar->setValue(0);
        qDebug() << "loaded" << bytesSent << "of" << bytesTotal;
        ui->progressBar->setMaximum(bytesTotal); //最大值
        ui->progressBar->setValue(bytesSent);  //当前值
        double currentProgress = (bytesSent - ui->progressBar->minimum()) * 100.0 / (bytesTotal - ui->progressBar->minimum());
        ui->progressBar->setFormat(QString::fromUtf8("当前进度为:%1%").arg(QString::number(currentProgress, 'f', 1)));
    }
    
    // 获得传入路径的文件名
    QString MainWindow::getFileName(QString m_filePath)
    {
        QString temp;
        QString fileName;
        int count = -1;
        fileName = m_filePath;
        for(int i = 0; temp != "/"; i++)
        {
            temp = fileName.right(1);
            fileName.chop(1);
            count++;
        }
        fileName = m_filePath.right(count);
    
        return fileName;
    }
    
    // 下载过程出错,进行报错处理(超时处理也是丢出超时信号,交由此槽函数进行处理)
    void MainWindow::replyError(QNetworkReply::NetworkError error)
    {
        auto metaEnum = QMetaEnum::fromType<QNetworkReply::NetworkError>();
        // 枚举值转换为字符串
        auto errStr = metaEnum.valueToKey(error);
        QMessageBox::critical(NULL, tr("Error"), QString(errStr));
    
        file->deleteLater();
        file = Q_NULLPTR;
    
        reply->deleteLater();
    }
    
    // 下载时向本地文件中写入数据
    void MainWindow::readContent()
    {
        file->write(reply->readAll());
    }
    
    // 上传文件
    void MainWindow::on_Btn_upload_clicked()
    {
        if (initFTP()) {
            // 得到选择的文件的路径,保存在字符串链表中
            QStringList string_list;
            string_list = QFileDialog::getOpenFileNames(this, tr("选择文件"), "", tr("Files (*)"));
            if (!string_list.isEmpty()) {
                for (int i = 0; i < string_list.count(); i++) {
                    QString filePath;
                    filePath = string_list.at(i);
                    file = new QFile(filePath);
                    file->open(QIODevice::ReadOnly);
                    QByteArray byte_file = file->readAll();
    
                    QString fileName;
                    fileName = getFileName(filePath);
                    QString m_ftpPath;
                    m_ftpPath = ftpPath + "/" + fileName;
    
                    // 把选中的文件上传到服务器
                    accessManager = new QNetworkAccessManager(this);
                    accessManager->setNetworkAccessible(QNetworkAccessManager::Accessible);
                    QUrl url(m_ftpPath);
                    url.setPort(21);
                    url.setUserName(user);
                    url.setPassword(password);
    
                    QNetworkRequest request(url);
                    reply = accessManager->put(request, byte_file);
    
                    connect(accessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*)));
                    connect(reply, SIGNAL(uploadProgress(qint64 ,qint64)), this, SLOT(loadProgress(qint64 ,qint64)));
                    connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),SLOT(replyError(QNetworkReply::NetworkError)));
                }
            }
        }
    }
    
    // 下载文件
    void MainWindow::on_Btn_download_clicked()
    {
        if (initFTP()) {
            QString folderPath;
            folderPath = QFileDialog::getExistingDirectory(this, tr("选择文件"), "", QFileDialog::ShowDirsOnly);
            file = new QFile(folderPath + "/test.jpg");
            file->open(QIODevice::WriteOnly);
    
            // 从服务器上下载文件到选中文件夹
            QNetworkAccessManager *accessManager = new QNetworkAccessManager(this);
            accessManager->setNetworkAccessible(QNetworkAccessManager::Accessible);
            QUrl url("ftp://192.168.43.129/software/timg.jpeg");
            url.setPort(21);
            url.setUserName("jinxiaodan");
            url.setPassword("abcd1234");
    
            QNetworkRequest request(url);
            reply = accessManager->get(request);
    
            connect((QObject *)reply, SIGNAL(readyRead()), this, SLOT(readContent()));
            connect(accessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
            connect(reply, SIGNAL(downloadProgress(qint64 ,qint64)), this, SLOT(loadProgress(qint64 ,qint64)));
            connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),SLOT(replyError(QNetworkReply::NetworkError)));
        }
    }
    

    以上则为全部代码,自己新建项目,把代码复制进去,按照开始展示的界面设置UI界面,把代码中的登录服务器地址、用户名和密码改为你自己的即可。

     


    四、缺点

    下载过程中文件写入是在主线程中进行的,如果文件过大,频繁写入会造成主线程卡顿现象。要避免此种情况,请在工作线程中进行。

    另外,如果想要实现目录预览功能请使用QFtp和QUrlInfo,可以看到服务器端的文件目录,选择文件要下载的文件,QNetworkAccessManager只能更改源代码选择自己想要下载的文件。

     

    展开全文
  • 介绍了使用QtFtp的下载、安装、编译和使用的方法。

    自从遇到ftp传输文件这个任务,我一开始就查到可以使用Qtftp来实现,但是网上下载的编译好的库不能用,前前后后折腾了很长时间,最后放弃了,转投curl,但是搞笑的是今天下午知道该怎么做了。哎~~~~

    1.下载QtFtp源代码

    注意,我这里说的是源代码,如果你在网上找到了编译好的库,经常无法使用,而且如果你也使用MinGW来编译的话,还是老老实实下载源代码吧。网上不太好找,我共享了一个,地址是(http://download.csdn.net/detail/xueyushenzhou/9580401),积分为8,有点贵啊,不过真的是好东西大笑

    下载之后解压文件。

    编译环境:Win7(64bit)+Qt5.5.1+mingw492_32+QtFtp 5.0.0
    2.将qt-qtftp文件夹移至C:\Qt\Qt5.5.1\5.5\Src目录,并更名为qtqtftp。

    3、修改C:\Qt\Qt5.5.1\5.5\Src\qtqtftp\src\qftp\qftp.pro文件中CONFIG -= shared为CONFIG += shared,不修改的话则只能生成静态库。
    4、打开Qt的命令行,cd进入C:\Qt\Qt5.5.1\5.5\Src\qtftp目录,开始编译 : mingw32-make Makefile;。
    5、将C:\Qt\Qt5.5.1\5.5\Src\qtftp\lib目录下生成的*.dll动态库文件(Qt5Ftp.dll、Qt5Ftpd.dll)复制到C:\Qt\Qt5.5.1\5.5\mingw492_32\bin目录下。
    6、将C:\Qt\Qt5.5.1\5.5\\Src\qtftp\lib目录下生成的*.a和*.pri文件复制到C:\Qt\Qt5.5.1\5.5\\mingw48_32\lib目录下。
    7、将C:\Qt\Qt5.5.1\5.5\\Src\qtftp\src\qftp目录下的qftp.h和qurlinfo.h复制到C:\Qt\Qt5.5.1\5.5\mingw492_32include\QtNetwork目录下。
    8、在C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtNetwork目录中新建一个没有后缀名的QFtp文件,内容为#include”qftp.h”。
    OK,就这样,就完成了QtFtp的编译。

    最后一步,测试一下效果,例子时C:\Qt\Qt5.5.1\5.5\\Src\qtftp\examples!

    启动之后,根据你配置的ftp情况设置,详细方法请看上一篇博客。


    选中服务器下的文件,单击“download”就将文件保存到程序根目录下了。

    OK!


    展开全文
  • linux下QT实现ftp客户端

    2020-07-17 17:53:55
    实现了FTP客户端的一些基本有的功能,并效率快,简单方面快捷。
  • linux下qtqtcreator的安装与配置

    千次阅读 2015-01-27 19:18:32
    最近在做关于进程迁移的项目,需要用到qt做项目的界面,根据网上找的资料做了一下总结,记录一下linux下qt安装与配置的全过程。  1、获得源代码(网上有很多教程,因为比较早了,所以有些链接已经失效了,这里用的...

            最近在做关于进程迁移的项目,需要用到qt做项目的界面,根据网上找的资料做了一下总结,记录一下linux下qt安装与配置的全过程。

             1、获得源代码(网上有很多教程,因为比较早了,所以有些链接已经失效了,这里用的链接是今天试过有效的)
            src 官网下载地址:ftp://ftp.qt.nokia.com/qt/source/
            2009 年 10 月 1 日发布的 qt-x11-opensource-src-4.5.3.tar.gz,大小 122 Mb。

            2、解压缩
            tar xvfz qt-x11-opensource-src-4.5.3.tar.gz

            3、生成 makefile 文件
            ./configure
            这个时候他会问你:“Which edition of Qt do you want to use?”
            然后给你两个类型供选择:
            Type 'c' if you want to use the Commercial Edition.
            Type 'o' if you want to use the Open Source Edition.
            第一个是商业版,第二个是自由版。
            选择 'o'(Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。
            这时候,出现许可界面。
            选择  'yes' 接受许可协议。
            开始生成 makefile 文件。这个大约需要 5 -10 分钟的时间。

            4。Qt 编译
            gmake
            这个过程时间比较长,需要两个小时左右。

            5。Qt 安装
            运行 gmake install
            默认安装至 /usr/local/Trolltech/Qt-4.5.3
            大约 5 - 10 分钟。正常结束,安装完毕。
            运行 /usr/local/Trolltech/Qt-4.5.3/bin/designer ,看见 qt 启动,也就是说 qt 安装好了。

            6。设置环境变量

            一。先修改用户环境变量

            vi /home/juan/.bashrc

            在其最后添加以下信息

            export QTDIR=/usr/local/Trolltech/Qt-4.5.3
            export PATH=$QTDIR/bin:$PATH
            export MANPATH=$QTDIR/man:$MANPATH
            export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

      二。再修改所有用户环境变量

            vi /etc/profile
            在其最后添加以下信息
            export QTDIR=/usr/local/Trolltech/Qt-4.5.3
            export PATH=$QTDIR/bin:$PATH
            export MANPATH=$QTDIR/man:$MANPATH
            export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

            三、测试一下

            重新开一个终端,输入命令:

            qmake -v

            输出结果:

            QMake version 2.01a
            Using Qt version 4.5.3 in /usr/local/Trolltech/Qt-4.5.3/lib
            输入命令:

            which qmake

            输出结果:

            /usr/local/Trolltech/Qt-4.5.3/bin/qmake

            证明 Qt 环境变量已经被配置成功

    安装过程中遇到的问题:

    (1)

    “Project ERROR: Package gstreamer-app-0.10 not found.”

    解决方案

    yum install 'pkgconfig(gstreamer-app-0.10)'
    
    

    我使用 wget 命令下载了需要的源码。

    > mkdir ~/qt-downloads

    > cd ~/qt-downloads

    > wget http://download.qt-project.org/official_releases/qtcreator/2.8/2.8.1/qt-creator-linux-x86-opensource-2.8.1.run

    qt-creator-linux-x86-opensource-2.8.1.run 就被下载到了 ~/qt-downloads 路径下。

    2.2 修改文件权限

    修改该文件的权限,使之有执行权限。

    > chmod u+x qt-creator-linux-x86-opensource-2.8.1.run

    2.3 安装

    执行bin文件开始安装Qt Create

    > sudo ./qt-creator-linux-x86-opensource-2.8.1.run

    其期,安装向导会询问安装路径,我是把文件安装到 /usr/local/ 目录下的。

    完成安装之后,Applications --> Programming 菜单下就有一个 Qt Creator 的入口。点击会弹出Qt Creator 的界面

    运行./qtcreator 会出现

    (/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by/opt/Qt4.5.3/Tools/QtCreator/lib/qtcreator/plugins/QtProject/../.././libQt4CLucene.so.6)) 

    缺少`GLIBCXX_3.4.14'      需要升级gcc,更新至gcc-4.8.2

    1、wget http://www.netgull.com/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.gz

    2、tar xf gcc-4.8.2.tar.gz
    3、cdgcc-4.8.2
    4、./contrib/download_prerequisites  #利用自带脚本来下载依赖
    5、mkdirgcc-build-4.8.2
    6、cd gcc-build-4.8.2
    7、../configure--enable-checking=release--enable-languages=c,c++--disable-multilib  #根据个人需要,这里只添加了C/C++支持
    8、make
    9、makeinstall
    然后更新libstdc++.so.6
    1、cp /root/gcc-4.8.2/gcc-build-4.8.2/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.18 /usr/lib64
    2、ln -sf /usr/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

    再打开qtcreator就可以了


    展开全文
  • 关于Qt5.X中的FTP封装

    2017-03-20 14:51:31
    Qt5.X版本开始就去掉了QFTP的功能,原因应该是代码的封装不过关吧,另外可以用Qt...现在去网上了个qtftp-master,可以用QT编译出静态库和动态库,个人习惯了VS2010,所以把QTFTP的各种方法移植到了VS2010平台。
  • QtFTP 上传/下载

    万次阅读 多人点赞 2018-05-30 09:49:17
    该模块包含了许多类,例如:QFtp - 能够更加轻松使用 FTP 协议进行网络编程。但是,从 Qt5.x 之后,Qt Network 也发生了很大的变化,助手中关于此部分描述如下: The QFtp and QUrlInfo classes are no longer ...
  • Linux下QT安装教程

    千次阅读 2017-03-18 10:37:59
    原文地址::... 相关文章 1、Linux下编译、安装、配置 QT----http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html 2、在Linux下安装Qt4.4.3 详细步骤----http://www.linuxidc.com
  • 最近有关于FTP文件传输的相关项目,因此查询相关资料编写了一个示例程序。程序运行正常,但在测试过程中使用含有中文的文件进行测试时,程序报错。 原以为是编码的问题,认为FTP不识别UTF-8编码,因此在FTP的配置项...
  • Linux 编译并安装配置 Qt 全过程

    万次阅读 2009-12-05 08:48:00
    Linux 编译并安装配置 Qt 全过程 最近准备做 Nokia 的 Symbian,Maemo 触摸屏开发。考虑到程序的跨平台可移植性,最终选择使用 Qt 开发。相对来说,国内关于 Qt 相关文档并不算很多。作者将 Linux 编译并安装...
  • linux下qt4.8.0库的裁剪

    2013-07-25 17:11:38
     安装Linux版本的qt  1.下载qt4.8.0版本  下载地址:ftp://ftp.qt.nokia.com/qt/source/  2.解压qt-everywhere-opensource-src-4.8.0.tar.gz  tar -zxvf qt-everywhere-opensource-src-4.8.0.ta
  • QT FTP上传文件

    2019-08-06 13:58:07
    QT FTP上传文件两台电脑通过网线建立本地连接,保证网关在同一段;服务器端打开ftp;客户端网页测试远程访问;客户端cmd测试远程访问;客户端程序测试远程访问。 两台电脑通过网线建立本地连接,保证网关在同一段; ...
  • Linux中分别安装应用于不同平台的QT:PC;嵌入式X86;ARM。  这三者PC版、嵌入式X86版和ARM版的区别主要体现在:当configure时分别加了不同的参数,具体区别是:   PC平台:在linux中全安装qt,用它编译好...
  • Qt编写的FTP支持批量上传和下载,不支持文件夹上传下载,客户端是Qt下,服务器是C写的再linux下运行,增加Qss功能
  • Linux下安装QT之版本qt-4.6.3

    千次阅读 2019-03-06 20:47:32
    Linux下安装QT之版本qt-4.6.3 2016年05月10日 13:38:52 2puT 阅读数:1576 &amp;...
  • linux 安装Qt 与 ffmpeg

    千次阅读 2012-08-10 22:57:34
    安装QT的惨痛经历 ...目标:2012.4月下旬,计划开始在linux上安装QT和ffmpeg,准备摸索一下视频客户端的开发。 ----------------------------------------------------以下是安装过程-------------
  • 本人介绍了安装qt5,介绍了在QT5中编译安装libcurl的方法,介绍了实现tftp和ftp文件传输的方法,并且介绍了为什么会出现“file not recognized: File format not recognized”的错误。文中也给出了一个能够下载网页...
  • Qt5.8用FTP实现文件上传和... 本人所使用FTP服务器端的操作系统为Linux(Ubuntu),编写QT代码的客户端的操作系统为Windows - 1. UI界面 - 2. 修改.pro文件 - 3. 头文件代码 - 4. 源文件代码(上传,下载,进度条)
  • 使用Qt Creator进行linux远程调试

    千次阅读 2018-04-28 15:35:49
    序言考虑到程序员在无桌面Linux的环境编写C/C++程序,如果使用原生的Vim编辑和单步断点调试比较麻烦,不利于新手使用,所以笔者尝试使用Qt实现两台Linux电脑远程部署和调试。即程序员在调试电脑使用Qt编写代码,...
1 2 3 4 5 ... 20
收藏数 8,150
精华内容 3,260
关键字:

linux下qt5使用ftp