IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Problème de déploiement d'une application Qt


Sujet :

Qt

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Par défaut Problème de déploiement d'une application Qt
    Bonjour à tous,

    J'ai finis de développer une application sous Qt : en utilisant Qt creator 2.4.1.
    Cette application permet de créer un diaporama (c'est à dire que l'utilisateur choisi un dossier contenant les images, le logiciel liste les chemins de chaque images puis enregistre cette liste dans un fichier texte) puis d'afficher ces images les unes après les autres avec un intervalle de temps définis par l'utilisateur.
    Mais venons-en au problème !

    Quand je partage mon programme (en donnant le fichier .exe avec ses .dll), les personnes recevant celui-ci peuvent l’exécuter et créer le fichier txt ( recevant les chemins des images) sans problème, mais au moment d'afficher les images aucune image n'est affichée ?!

    d'avance pour vos réponses et s'il manque des informations n'hésitez pas à me demander

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 178
    Billets dans le blog
    156
    Par défaut
    Bonjour,

    Il se peut qu'il manque les .DLL pour décoder les images (comme libpng.dll / jpeg.dll ou d'autre truc comme cela).
    Sinon, il peut y avoir un bug, que lorsque vous n'exécutez pas le programme dans QtCreator.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    A mon avis ce lien pourra peut être vous aidez.
    http://qt.developpez.com/faq/?page=g...tes-deploy-win
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Par défaut
    Merci pour vos réponses, mais en rajoutant jpeg.dll avec mon .exe, rien ne change, ça ne corrige pas le problème.
    Et j'ai oublié de préciser que mon programme fonctionne parfaitement quand je le lance grâce au Diapo.exe (version release ou debug) depuis mon ordinateur mais pas depuis un ordinateur ne possédant pas Qt.

    Et j'ai rajouté seulement le jpeg.dll car c'est la seul extension d'image que j'utilise. Faudrait-il que j’en rajoute d’autre : mais lesquelles alors ?!
    Ps : voici le fichier d’en-tête de ma fenêtre principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    #include <QMainWindow>
    #include <QFileDialog>
    #include <QString>
    #include <QDirIterator>
    #include <QInputDialog>
    #include <QTextStream>
    #include <QKeyEvent>
    #include <QMessageBox>
    #include <QPainter>
    #include <QTime>
     
    namespace Ui {
    class MainWindow;
    }
     
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
     
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
        void Ouvrir(const QString &T);
        void NextImg(int i);
        void defImg() {this->img = liste.section("$",CurrentImg,CurrentImg);}
        virtual void keyReleaseEvent(QKeyEvent *event);
        virtual void timerEvent(QTimerEvent *event);
        virtual void paintEvent(QPaintEvent *);
        int getSpeed() {return speed;}
        void verifPlay()
        {
            if(play)
            {
                play = 0;
                emit pause(!play);
                killTimer(IdTimer);
            }
        }
     
    private:
        Ui::MainWindow *ui;
        QString diapo;
        QString liste;
        QString img;
        int NbF;
        bool play;
        int speed;
        int IdTimer;
        int CurrentImg;
     
    protected slots:
        void setFullscreen();
        void setSpeed();
        void New();
        void Open();
        void cocheC(bool c);
        void cocheA(bool a);
     
    signals:
        void pause(bool);
    };

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 178
    Billets dans le blog
    156
    Par défaut
    Peut être que c'est la qjpeg4.dll qui doit être dans un dossier imageformats.
    Sinon, pour vérifier, il y a moyen de connaitre la liste des fichiers images supportés -> http://qt.developpez.com/doc/latest/...edimageformats
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Par défaut
    Désoler mais je ne comprends pas ce que tu me demande
    Citation Envoyé par LittleWhite Voir le message
    Peut être que c'est la qjpeg4.dll qui doit être dans un dossier imageformats.
    Et puis d’après liens, le format jpg et compris par default dans Qt ?!

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 178
    Billets dans le blog
    156
    Par défaut
    Moi, je vois que QtCreator possède, dans son dossier binaire, un dossier "imageformats", contenant une DLL "qjpeg4.dll". Donc je vous conseille d'essayer ...
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Par défaut
    L'ajout de "qjpeg4.dll" n’as rien changé dommage !
    J'crois que je vais abandonné

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 178
    Billets dans le blog
    156
    Par défaut
    Mais non, il ne faut pas abandonner en informatique, il faut chercher.

    Avez vous regardé -> http://qt.developpez.com/doc/latest/...edimageformats
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Par défaut
    J'ai bien regardé votre lien mais je ne comprends pas à quoi cette classe sert et en quoi pourrait-elle me servir.

  11. #11
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 178
    Billets dans le blog
    156
    Par défaut
    Cela permet de savoir dynamiquement les formats supportés par votre application Qt.
    Notamment, le JPEG n'apparaitra pas dans la liste, tant que la .DLL ne sera pas avec l'exécutable.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Par défaut
    Si j'ai bien compris, je dois faire en sorte d'afficher dans mon programme la liste des formats supporté pour voir si le "jpg" y est ?!

  13. #13
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 178
    Billets dans le blog
    156
    Par défaut
    Oui, afin que vos tests soit plus rapide.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Par défaut
    J'ai essayé d'afficher la QList<QByteArray> mais je n'y suis pas arrivé !
    Comment je peux faire pour par exemple afficher cette liste dans un label ?

  15. #15
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Pas besoin d'IHM pour ça, utilise QDebug, il sait faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <QDebug>
     
    qDebug() << cequetuveux;

  16. #16
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 178
    Billets dans le blog
    156
    Par défaut
    Bah, l'histoire est que comme il va faire les tests sur une machine qui n'a pas Qt, le qDebug() va être silencieux, sauf si le qDebugHandler est changé afin d'écrire dans un fichier (je l'avais fait pour une projet).

    Et je suis super sympa, je vous offre le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #ifndef QT_NO_DEBUG
    QFile* pDebugFile = NULL;
     
    void debugFileHandler(QtMsgType type, const char *msg)
    {
        // Test to protect from some human errors (can be removed)
        if ( pDebugFile && pDebugFile->isOpen() )
        {
            switch (type)
            {
             case QtDebugMsg:
                 pDebugFile->write(QByteArray(msg) + QByteArray("\n"));
                 break;
             case QtWarningMsg:
                 pDebugFile->write(QByteArray("Warning: ") + QByteArray(msg) + QByteArray("\n"));
                 break;
             case QtCriticalMsg:
                 pDebugFile->write(QByteArray("Critical: ") + QByteArray(msg) + QByteArray("\n"));
                 break;
             case QtFatalMsg:
                 pDebugFile->write(QByteArray("Fatal: ") + QByteArray(msg) + QByteArray("\n"));
                 abort();
             }
        }
    }
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #ifndef QT_NO_DEBUG
        pDebugFile = new QFile("debug.log");
        pDebugFile->open(QIODevice::WriteOnly);
        qInstallMsgHandler(debugFileHandler);
        qDebug() << "Log in file started";
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #ifndef QT_NO_DEBUG
        qDebug() << "Log in file closed";
        pDebugFile->close();
        delete pDebugFile;
        pDebugFile = NULL;
        // Because of this, all deletion messages will not be seen in the debug file.
        // Thanks to this, we don't try to use a file closed
        qInstallMsgHandler(0);
    #endif
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  17. #17
    Membre averti
    Inscrit en
    Août 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 25
    Par défaut
    si tu es sous windows, utilises dependency walker de Microsoft pour connaitre toutes les dll nécessaires.
    Je n´ai pas le lien sous la main, ca ne devrait pas être difficile de trouver.

  18. #18
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 178
    Billets dans le blog
    156
    Par défaut
    Avec google, ce n'est pas difficile -> http://www.dependencywalker.com/
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  19. #19
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Par défaut
    Je vais tester tout ça quand je pourrais ! Et merci pour vos réponses.

  20. #20
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Bah, l'histoire est que comme il va faire les tests sur une machine qui n'a pas Qt, le qDebug() va être silencieux, sauf si le qDebugHandler est changé afin d'écrire dans un fichier (je l'avais fait pour une projet).
    Ah ? Et si tu lances depuis une fenêtre de commande, ou que tu regardes avec DebugView (Systernals) ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème du déploiement d'une application
    Par imadin dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 22/05/2010, 19h04
  2. Réponses: 5
    Dernier message: 30/03/2010, 20h05
  3. Réponses: 1
    Dernier message: 04/01/2010, 19h14
  4. Réponses: 1
    Dernier message: 12/10/2009, 18h19
  5. Réponses: 3
    Dernier message: 16/06/2007, 01h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo