Partage
  • Partager sur Facebook
  • Partager sur Twitter

Le bouton ne s'affiche pas dans la fenetre

    14 juin 2008 à 16:43:48

    Voila, j'ai un petit problème avec un des premiers projet de matéo.
    Il à pour but d'afficher un bouton dans une fenêtre en créant un classe MaFenetre.cpp , MaFenetre.h et main.h
    Quand je lance le programme la fenêtre se met mais pas le bouton. En plus, ma fenêtre n'est pas aux bonnes dimensions

    main.cpp
    #include <QApplication>
    #include "MaFenetre.h"
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
       // creation d'un widget pour  la fenetre
       QWidget fenetre;
       fenetre.show();
       
     
        return app.exec();
    }
    


    MaFenetre.h
    #ifndef DEF_MAFENETRE
    #define DEF_MAFENETRE
    #include <QApplication>
    #include <QWidget>
    #include <QPushButton>
    
    class MaFenetre : public QWidget // On hérite de QWidget (IMPORTANT)
    {
    public:
    MaFenetre();
    ~MaFenetre();
     
    private:
    QPushButton *m_bouton;
    };
    #endif
    


    MaFenetre.cpp
    #include "MaFenetre.h"
     
    MaFenetre::MaFenetre() : QWidget()
    {
        setFixedSize(300, 15);
     
        // Construction du bouton
        m_bouton = new QPushButton("Pimp mon bouton !", this);
     
        m_bouton->setFont(QFont("Comic Sans MS", 14));
        m_bouton->setCursor(Qt::PointingHandCursor);
        m_bouton->setIcon(QIcon("smiley.png"));
        m_bouton->move(60, 50);
    }
    
    MaFenetre::~MaFenetre()
    {
        delete m_bouton;
    }
    

    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2008 à 16:52:31

      MaFenetre::MaFenetre() : QWidget()
      {
          setFixedSize(300, 15); 
          //...
          m_bouton->move(60, 50);
      }
      


      Tu ne remarques rien de bizarre ?
      (Comme par exemple un bouton placé en y = 50 alors que la fenêtre ne va que jusqu'à y = 15 ? ;) )
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2008 à 16:57:37

        juste lol ...Faute débile!!!
        Mais je reviens de compiler et devine quoi,.... faute a la ligne 12 du main avec le show..... :-s

        Je ne comprends pas
        • Partager sur Facebook
        • Partager sur Twitter
          14 juin 2008 à 17:03:12

          Que dit le compilateur ? (et essaie en créant une fenêtre de type MaFenetre et non QWidget dans ton main).
          • Partager sur Facebook
          • Partager sur Twitter
            14 juin 2008 à 17:05:22

            Merci DR. T'es le meilleur...
            Encore une erreur d'inattention...
            Encore merci ;)
            • Partager sur Facebook
            • Partager sur Twitter
              14 juin 2008 à 17:37:34

              Ah et aussi le delete sur le bouton n'est pas utile. QT gére tout ;)
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                14 juin 2008 à 17:40:38

                Qt != QT (QuickTime)
                delete ou pas delete, c'est égal ici. Mais c'est quand même une bonne habitude de le faire.
                • Partager sur Facebook
                • Partager sur Twitter
                  14 juin 2008 à 17:46:19

                  Pourquoi tu parles de QuickTime? je parle de Qt le framework. et je maintiens Qt gére lui même les delete sur tout ce qui est widget et compagnie...

                  Après que sa soit une habitude qu'il garde pourquoi pas.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 juin 2008 à 17:56:06

                    il parle de QuickTime car
                    QT => QuickTime
                    Qt => Qt ^^
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Le bouton ne s'affiche pas dans la fenetre

                    × 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