[Qt] Insérer une image dans la zone centrale d'un SDI

cs_Sim2b Messages postés 2 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 22 décembre 2008 - 22 déc. 2008 à 00:03
cs_Sim2b Messages postés 2 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 22 décembre 2008 - 22 déc. 2008 à 16:50
Bonsoir à tous,

J'ai un petit problème avec Qt.
Je cherche à mettre une image dans la zone centrale d'un SDI (j'ai créé un menu et une zone centrale).
J'ai testé 2 méthodes. Les 2 compilent bien, mais aucune n'affiche l'image, pourriez vous m'aider s'il vous plait?

Voici mon code :

FenPrinc::FenPrinc()
{
    QMenu *menuFichier = menuBar()->addMenu("&Fichier");

            QAction *actionQuitter = new QAction("&Quitter", this);
            menuFichier->addAction(actionQuitter);
            actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
            connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));

    QMenu *menuScores = menuBar()->addMenu("&Scores");

            QAction *actionVoir = new QAction("&Voir Scores", this);
            menuScores->addAction(actionVoir);
            actionVoir->setShortcut(QKeySequence("Alt+V"));
            // connect(actionVoir, SIGNAL(triggered()), qApp, SLOT(quit()));

    QMenu *menuAide = menuBar()->addMenu("&Aide");

             // connect(actionVoir, SIGNAL(triggered()), qApp, SLOT(quit()));

    QWidget *zoneCentrale = new QWidget;
    zoneCentrale->setFixedSize(500, 500);

// 1ere méthode :

    zoneCentrale->setWindowIcon(QIcon("jpf.png"));

// Fin de la 1ere méthode
  
////////////////////////////////////////////////////////////////////////////////////////:

// 2e méthode :

        QVBoxLayout *layout = new QVBoxLayout;
        QLabel *image = new QLabel(this);
        image->setPixmap(QPixmap("jpf.png"));
        layout->addWidget(image);
        zoneCentrale->setLayout(layout);

// Fin de la 2e méthode
    setCentralWidget(zoneCentrale);
}

Si vous voyez une erreur et que vous avez la solution, faites moi signe

Merci d'avance !

Sim2b.

"La seule chose que l'on est sûr de ne pas réussir est celle que l'on ne tente pas." - P.E Victor

1 réponse

cs_Sim2b Messages postés 2 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 22 décembre 2008 1
22 déc. 2008 à 16:50
C'est bon, en triffouillant quelques heures, j'ai réussi à faire marcher le programme. Pour ceux qui pourrait en avoir besoin, je mets le code corrigé. En fait, il ne faut pas oublier le Q_OBJECT dans le fichier .h !

FenPrinc::FenPrinc()
{
    QMenu *menuFichier = menuBar()->addMenu("&Fichier");

            QAction *actionQuitter = new QAction("&Quitter", this);
            menuFichier->addAction(actionQuitter);
            actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
            connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));

    QMenu *menuScores = menuBar()->addMenu("&Scores");

            QAction *actionVoir = new QAction("&Voir Scores", this);
            menuScores->addAction(actionVoir);
            actionVoir->setShortcut(QKeySequence("Alt+V"));
            // connect(actionVoir, SIGNAL(triggered()), qApp, SLOT(quit()));

    QMenu *menuAide = menuBar()->addMenu("&Aide");

             // connect(actionVoir, SIGNAL(triggered()), qApp, SLOT(quit()));

    QWidget *zoneCentrale = new QWidget;
    zoneCentrale->setFixedSize(500, 500);

        QVBoxLayout *layout = new QVBoxLayout;
        QLabel *image = new QLabel(this);
        image->setPixmap(QPixmap("jpf.png"));
        layout->addWidget(image);
        zoneCentrale->setLayout(layout);

    setCentralWidget(zoneCentrale);
}

"La seule chose que l'on est sûr de ne pas réussir est celle que l'on ne tente pas." - P.E Victor
1
Rejoignez-nous