Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt]Problème d'allocation dynamique...

...plantage du programme

Sujet résolu
    14 juin 2008 à 14:13:18

    Salut à tous,
    Voila, je commence Qt avec le tuto de Mateo, j'en suis à l'exercice sur la création d'un QProgressBar, j'ai fini le code mais malheureusement, le programme plante (alors que le compilo ne renvoie ni erreurs ni warnings), et je pense qu'il s'agit de l'allocation dynamique du QProgressBar...
    Voici mon code

    Fenetre.h
    #ifndef DEF_FENETRE_H
    #define DEF_FENETRE_H
    
    #include <QtGui>
    
    class Fenetre : public QWidget
    {
        public:
    
        Fenetre();
        ~Fenetre();
    
    
        private:
    
        QLCDNumber *m_ecranLCD;
        QSlider *m_sliderBar;
        QPushButton *m_bouton;
        QProgressBar *m_progression;
    
    
    
    
    };
    
    
    
    
    #endif
    


    et Fenetre.cpp

    #include <QtGui>
    #include "fenetre.h"
    
    using namespace std;
    
    
    
    Fenetre::Fenetre() : QWidget()
    {
        setFixedSize(640, 480);
    
        //Construction du bouton
        m_bouton = new QPushButton("Quitter", this);
    
        m_bouton->setFont(QFont("Comic Sans MS", 14));
        m_bouton->move(240, 150);
    
        m_ecranLCD = new QLCDNumber(this);
        m_ecranLCD->setSegmentStyle(QLCDNumber::Flat);
        m_ecranLCD->move(240, 250);
    
    
        m_sliderBar = new QSlider(Qt::Horizontal, this);
        m_sliderBar->setGeometry(240, 280, 150, 20);
    
        m_progression = new QProgressBar(this); //Le programme plante à cette ligne
        m_progression->setGeometry(240, 310, 100, 20);
    
        QObject::connect(m_sliderBar, SIGNAL(valueChanged(int)), m_ecranLCD, SLOT(display(int)));
        QObject::connect(m_sliderBar, SIGNAL(valueChanged(int)), m_progression, SLOT(setValue(int)));
        QObject::connect(m_bouton, SIGNAL(clicked()), qApp, SLOT(quit()));
    
    }
    
    Fenetre::~Fenetre()
    {
       
    }
    

    Le problème est que je n'arrive pas du tout à résoudre cette erreur...ca se trouve c'est tout bête mais bon.... :euh:
    Voila, merci d'avance ;)


    EDIT: Suppression des 4 deletes des widgets
    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2008 à 15:19:32

      1 - Comment sais-tu que c'est la progressbar qui bug?
      2 - As-tu essayé de lancer le programme sans la proressbar?
      3 - t'as pas besoin d'utiliser delete pour pour les widget, Qt s'en charge.
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2008 à 16:56:45

        J'ai démarré tranquillement le programme sans la progress bar (en tout cas sans l'allocation dynamique...)ça signifie...enfin selon moi qu'il y a un problème à ce niveau
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2008 à 16:56:56

          Up :euh:

          PS: J'ai supprimé les deletes, le programme est plus stable sans l'allocation dynamique de QProgressBar, mais il plante toujours quand on le met...
          • Partager sur Facebook
          • Partager sur Twitter
            16 juin 2008 à 17:40:28

            re Up :(
            Toujours pas trouvé comment résoudre le problème :euh:
            • Partager sur Facebook
            • Partager sur Twitter
              16 juin 2008 à 18:01:31

              Salut,
              peut tu mettre ton main?
              le code est correct (du moins je n'ai rien vue de bizzare...)
              • Partager sur Facebook
              • Partager sur Twitter
                16 juin 2008 à 18:06:03

                Le main est tellement petit que je n'ai pas jugé le mettre, le voici:

                Main.cpp
                #include <QtGui>
                #include "fenetre.h"
                
                
                using namespace std;
                
                int main(int argc, char *argv[])
                {
                    QApplication app(argc, argv);
                
                    Fenetre maFenetre;
                
                
                    maFenetre.show();
                
                    return app.exec();
                }
                
                • Partager sur Facebook
                • Partager sur Twitter
                  16 juin 2008 à 18:14:58

                  ...
                  ce son bien toute tes sources actuelle?????
                  • Partager sur Facebook
                  • Partager sur Twitter
                    16 juin 2008 à 18:43:29

                    Oui, toutes sans aucune exception...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 juin 2008 à 18:58:58

                      Salut, The Keeper. J'ai copié-collé ton code, compilé, exécuté et... Ca se lance et ca fonctionne parfaitement. Je ne comprends pas d'ou vient ton probleme. As-tu essayé de refaire toutes les commandes necessaires (qmake(-qt4) -project, qmake(-qt4), et make)? A part ca je ne vois pas ce qui pourrait faire fonctionner ton programme.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        16 juin 2008 à 19:09:16

                        Bon je cherche même pas à comprendre, j'ai déjà refait cette manip 2 fois (qmake -project, qmake et make, à chaque fois le programme plantait et là je le refais et bing ça fonctionne parfaitement... mystères de l'informatique.... o_O )bon bin sujet résolu, merci à tous :D
                        • Partager sur Facebook
                        • Partager sur Twitter

                        [Qt]Problème d'allocation dynamique...

                        × 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