Qt World Summit: Register Today!


Qt5.1 como usar o QtFtp?



  • compilei seguindos os passos que o julrich colocou em https://qt-project.org/forums/viewthread/24466

    o resultado foi: Qt5Ftp.prl, Qt5Ftpd.prl, libQt5Ftpd.a, libQt5Ftp.a e QtFtpDepends
    coloquei o "QT += ftp" no .pro mas unico header que achei foi “QtFtp/QtFtpDepends”

    estou usando Windows 7 32b



  • Engraçado, no meu aqui, so que no linux nao ta funcionando tambem...



  • Olá Rodrigo, Diego,

    A implentação de um Ftp usando QNetworkAccessManager é bem simples e eficiente.
    Você poderia tentar usar essas séries de classes para fazer seu ftp.

    Verifique:
    @
    QNetworkAccessManager
    QNetworkReply
    @

    Além do fato de te trazer independecia de plugins, addons etc.



  • oi volnei, você teria um exemplo disso com estas classes ?



  • Em princípio há bons exemplos http://http://qt-project.org/doc/qt-4.8/examples-network.html

    Dê inicialmente uma olhada geral, aí voltamos a nos falar.



  • volnei qual dos exemplos mostra como transmitir arquivos usando estas classes? vi ali o de ftp mas este não funciona no qt 5.1



  • O que extamente não funciona?
    Quais exemplos você viu?



  • qftp foi removido do qt5.

    da pra compilar ela como sitei no primeiro post mas não consegui fazer funcionar.

    e nos outros exemplos não achei nenhum que mostre como estabelecer uma conexão ftp.

    se tu souber qual deles mostra como fazer isso usando o QNetworkAccessManager poderia me informar?



  • Sim, sim...

    Já estava previsto a retirada do QFtp desde o Qt4.

    Você pode olhar este http://qt-project.org/doc/qt-4.8/network-downloadmanager.html
    Note que ele faz somente download. Porém a implementação do upload
    segue os mesmos moldes.
    A classe QNetworkAccessManager possui métodos 'put' que irão tratar disso para você.

    Nesse caso o arquivo a ser enviado tem que ser aberto via QFile e descritor passado ao
    método put()
    Além de usar os sinais enviados por QNetworkReply, por exemplo este
    @uploadProgress(qint64 bytesSent, qint64 bytesTotal)@ para você ver o progresso
    do upload



  • ok muito obrigado.


Log in to reply