Partage
  • Partager sur Facebook
  • Partager sur Twitter

Qt, probleme d'image

Sujet résolu
    25 avril 2008 à 11:46:19

    Bonjour,
    Je me suis inspiré d'un code que j'ai trouvé dans le forum afin d'afficher une image de fond. Ensuite j'ai essayer d'inserer des boutton sur cette image. Mais ca plante. o_O
    J'ai a exposer à rendre pour lundi, un questionnaires, et j'aimerai le faire en programme.
    Voici mon code source :


    Citation : code source

    #include <QApplication>
    #include <QtGui>
    #include <QtCore>

    /*******************************************************************************
    CLASS DEFINITION
    *******************************************************************************/
    class MainWindow : public QMainWindow
    {
    public:
    MainWindow(QString path);

    private:
    QLabel* imageLabel;
    };



    /*******************************************************************************
    METHOD DEFINITION
    *******************************************************************************/
    // Class MainWindow :
    MainWindow::MainWindow(QString path) // QStrin et non std::string
    {
    imageLabel = new QLabel (this); // rajout de "this"
    QImage image(path);
    if (image.isNull())
    {
    QMessageBox::information(this, "Wigaab", "Cannot load background");
    return;
    }
    imageLabel->setPixmap(QPixmap::fromImage(image));

    setCentralWidget(imageLabel); // l'image devient le widget central de MainWindow
    //imageLabel->show(); on supprime cette ligne car appelé automatiquement vu que imageLabel est un enfant de MainWindow
    }



    /*******************************************************************************
    MAIN
    *******************************************************************************/

    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);

    MainWindow MyWindow("mon_logo.bmp");


    // bouton 1

    // Création du bouton, ayant pour parent la "fenetre"
    QPushButton boutona("Réponse a !", &MyWindows);
    // Customisation du bouton
    boutona.setFont(QFont("Lucida Sans", 18));
    boutona.setCursor(Qt::PointingHandCursor);
    boutona.setGeometry(150,280, 500, 40);



    // boutton 2

    // Création du bouton, ayant pour parent la "fenetre"
    QPushButton boutonb("Réponse b !", &MyWindows);
    // Customisation du bouton
    boutonb.setFont(QFont("Lucida Sans", 18));
    boutonb.setCursor(Qt::PointingHandCursor);
    boutonb.setGeometry(150,360, 500, 40);



    // boutton 3
    // Création du bouton, ayant pour parent la "fenetre"
    QPushButton boutonc("Réponse c !", &MyWindow);
    // Customisation du bouton
    boutonc.setFont(QFont("Lucida Sans", 18));
    boutonc.setCursor(Qt::PointingHandCursor);
    boutonc.setGeometry(150,440, 500, 40);



    // boutton 4

    // Création du bouton, ayant pour parent la "fenetre"
    QPushButton boutond("Réponse d !", &MyWindow);
    // Customisation du bouton
    boutond.setFont(QFont("Lucida Sans", 18));
    boutond.setCursor(Qt::PointingHandCursor);
    boutond.setGeometry(150,520, 500, 40);



    MyWindow.show();

    return app.exec();
    }



    Merci de m'aider rapidement, Teal4
    • Partager sur Facebook
    • Partager sur Twitter
      25 avril 2008 à 11:51:08

      Tu peux être un peu plus précis que : sa plante stp? Où ? sa te dis quoi?


      Ah et pour tes boutons, crée les directement dans ta classe mainWindow
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        25 avril 2008 à 12:19:54

        donne ta fonction qMain
        • Partager sur Facebook
        • Partager sur Twitter
          25 avril 2008 à 12:22:10

          J'ai tout mis ce que j'ai.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            25 avril 2008 à 12:22:47

            le code de qMain...
            • Partager sur Facebook
            • Partager sur Twitter
              25 avril 2008 à 12:24:42

              J'ai pas de code de qmain :euh:

              Merci de m'aider
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                25 avril 2008 à 12:27:46

                j'ai dit n'inporte quoi :honte: , tu peux pas l'avoir
                • Partager sur Facebook
                • Partager sur Twitter
                  25 avril 2008 à 12:29:21

                  Pas grave.
                  Et puis a part les boutons j'ai pris le code sur le forum pour afficher l'image mais il n'y a pas plus simple ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 avril 2008 à 13:32:00

                    Ton bouton tu le fais appartenir à MyWindows... pourtant tu crées ta fenêtre sous le nom : MyWindow donc normal que y'est un soucis. Pour éviter ce genre d'erreur tu crées tes boutons directement dans ta classe mainWindow
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 avril 2008 à 13:55:14

                      Merci Goten, enfaite les boutton 1 et 2 ou a et b, appartiennent à MyWindows alors que ma fentre s'appelle MyWinow et tu me l'a fait remarquer merci ;)

                      Maintenant j'ai une autre question, je sais je suis chiant :-°

                      Si je change plus tard dans mon code cette ligne

                      Citation : code source

                      MainWindow MyWindow("mon_logo.bmp");



                      L'image sera remplacé par la nouvelle ?

                      Merci d'avance</span>

                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 avril 2008 à 13:59:48

                        MainWindow MyWindows("mon_logo.bmp");
                        


                        n'oublie pas le s au nom de ton objet ;). Et oui si tu mets mon_logo2.jpeg alors c'est l'image portant ce nom qui sera affiché.




                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 avril 2008 à 14:10:56

                          Ok merci mais si je ne met pas le s et que je ne le met pas nul part ailleur ca marche alors je vais rester comme ca, encore merci mais a mon avis j'aurai encore besion de te aide ;)

                          Edith, j'ai une autre question ( oui je sais encore :euh: )

                          Je veux faire un questionnair comme vous l'aurez deviné, et je veut faire en sorte que si on clique sur la réponse 3 par exemple, passer a la question suivant.
                          Il faut que j'utilise ca QObject::connect ?

                          Et si oui il faut que je crée mon propre Slot ?

                          merci d'avance.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Qt, probleme d'image

                          × 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