Partage
  • Partager sur Facebook
  • Partager sur Twitter

Télécharger des fichiers avec Qt

    12 septembre 2017 à 18:00:18

    Bonjour,

    J'aimerais créer un système de mise à jour / de téléchargement de fichiers avec Qt (2010.05).

    J'ai déjà essayé ce code :

    #include <QApplication>
    #include <QUrl>
    #include <QNetworkAccessManager>
    
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        QNetworkAccessManager * manager = new QNetworkAccessManager();
        // L'Url du fihier à télécharger
        QUrl url (" https://doc-0g-2g-docs.googleusercontent.com/docs/securesc/lbesbmh7uihdhsvb1cv2879h03r30fk8/kas7uf5ek7gud8npklfl0c46rmj9u2vo/1505224800000/18012319442157539636/18012319442157539636/0BxOVCDmFfVdrODFQT3VZSFdLX1U?e=download ");
        // Demande du download
        manager->get(url);
        return app.exec();
    }
    



    Mais des erreurs s'affichent :

    - QNetworkAcessManager : No such file or directory

    - 'QNetworkAcessManager' was not declared in this scope

    - 'manager' was not declared in this scope

    - exepcted type-specifier before 'QNetworkAcessManager'

    - expected ';' before 'QNetworkAcessManager'

    Pouvez-vous m'aider, me donner des commandes (pouvez-vous les expliquer ? je suis débutant sur Qt) etc...

    Merci d'avance

    -
    Edité par Luciendu38 12 septembre 2017 à 18:02:34

    • Partager sur Facebook
    • Partager sur Twitter
    Luciendu38
      12 septembre 2017 à 19:40:46

      Salut,

      tu as ajouté le module network a ton fichier .pro ?

      QT+= core network

      • Partager sur Facebook
      • Partager sur Twitter
        13 septembre 2017 à 14:18:11

        Voici le code de mon fichier .pro :

        SOURCES += \
            QT+= core network
            main.cpp
        

        Mais quand j’exécute le programme une erreur s'affiche :

        [makefile] Error 2

        Pouvez-vous m'aider ?

        PS : mon projet est un "Projet Qt Vide"

        • Partager sur Facebook
        • Partager sur Twitter
        Luciendu38
          16 septembre 2017 à 14:37:38

          Aidez-moi SVP !!!
          • Partager sur Facebook
          • Partager sur Twitter
          Luciendu38
            16 septembre 2017 à 23:44:27

            essaie d'aller dans le menu "compiler" -> "Exécuter qmake"

            PS: l'argument de ton get n'est pas du bon type.

            -
            Edité par zoup 16 septembre 2017 à 23:45:48

            • Partager sur Facebook
            • Partager sur Twitter
              8 octobre 2017 à 13:22:36

              Comment l'argument de get doit-être, car il ne reste plus qu'une erreur sur le get sinon tout marche bien avec ce code:

              main.cpp :

              #include <QApplication>
              #include <QUrl>
              #include <QNetworkAccessManager>
              
              int main(int argc, char *argv[])
              {
                  QApplication app(argc, argv);
                  QNetworkAccessManager * manager = new QNetworkAccessManager();
                  // L'Url du fichier à télécharger
                  QUrl url (" https://doc-0g-2g-docs.googleusercontent.com/docs/securesc/lbesbmh7uihdhsvb1cv2879h03r30fk8/kas7uf5ek7gud8npklfl0c46rmj9u2vo/1505224800000/18012319442157539636/18012319442157539636/0BxOVCDmFfVdrODFQT3VZSFdLX1U?e=download ");
                  // Demande du download
                  manager->get(url);
                  return app.exec();
              }

              le fichier .pro :

              QT       += core network
              
              SOURCES += \
                  main.cpp
              




              • Partager sur Facebook
              • Partager sur Twitter
              Luciendu38
                8 octobre 2017 à 19:20:03

                Luciendu38 a écrit:

                Comment l'argument de get doit-être, 

                As-tu regardé la doc?

                tu lui passes une instance de QUrl alors que get attend un QNetworkRequest

                • Partager sur Facebook
                • Partager sur Twitter
                  23 octobre 2017 à 10:16:26

                  Pourrais-tu me donner un exemple de get, j'ai beau chercher partout, rien ne marche >_<
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Luciendu38
                    23 octobre 2017 à 13:22:24

                    Salut,

                    comme indiqué précédemment, get attend une instance de QNetworkRequest :

                    #include <QApplication>
                    #include <QUrl>
                    #include <QNetworkAccessManager>
                    #include <QNetworkRequest>
                    
                    int main(int argc, char *argv[])
                    {
                        QApplication app(argc, argv);
                        QNetworkAccessManager * manager = new QNetworkAccessManager();
                        // L'Url du fihier à télécharger
                        QUrl url ("http://37.187.122.229/download/download/Films/1.54.2016.FRENCH.BDRip.XviD-EXTREME.avi ");
                        // Demande du download
                        QNetworkRequest request(url);
                        manager->get(request);
                        return app.exec();
                    }



                    -
                    Edité par zoup 23 octobre 2017 à 13:24:36

                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 novembre 2017 à 17:48:08

                      Merci beaucoup, mais comme je ne maîtrise pas bien tout cela je vais faire la partie "internet" en javascript et mon programme lancera le fichier java.

                      -
                      Edité par Luciendu38 11 novembre 2017 à 11:00:58

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Luciendu38
                        11 novembre 2017 à 11:05:24

                        Euh... finalement j'aimerai toujours le faire avec Qt ton code marche mais lorsque on l'éxécute dans "sortie de l'application" il y a marqué "Démarrage de C:\Qt\2010.05\qt\essai_installeur-build-desktop\debug\essai_installeur.exe...

                        Le processus n'a pas pû être démarré !"

                        Pourrais-tu m'expliquer ce qui ne vas pas ? Et où est censé être enregistré le fichier ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Luciendu38
                          11 novembre 2017 à 15:48:17

                          Ce qui me surprends un peu, c'est de voir que tu utilises une version datant de 2010. peut-être serait-il temps de passer à une version à jour avant d'envisager la suite.

                          On en est à la 5.9 alors que si mes souvenirs sont bons, ta version doit être une 4.7 ou 4.8

                          -
                          Edité par zoup 11 novembre 2017 à 15:49:58

                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 novembre 2017 à 12:06:23

                            J'utilise une ancienne version car tout n'est pas compatible sur les dernières par rapport à mon livre avec lequel j'ai appris le C++ et Qt
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Luciendu38
                              12 novembre 2017 à 12:33:01

                              Luciendu38 a écrit:

                              J'utilise une ancienne version car tout n'est pas compatible sur les dernières par rapport à mon livre avec lequel j'ai appris le C++ et Qt


                              Et c'est une raison pour rester bloquer sur une vieille version ? :D
                              • Partager sur Facebook
                              • Partager sur Twitter

                              ...

                              Télécharger des fichiers avec Qt

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown