Bonjour,

Je code en C++ avec la librairie Qt pour les fenêtrages.
Je débute totalement en POO, donc j'essaye de suivre, et surtout de comprendre ^^, les différents tutos que je trouve sur ce site ainsi que celui du Site des zéros.

J'ai déjà réussi a faire le tutoriel Création d'une fenêtre personnalisée que j'ai un peu transformer pour en faire une fenêtre de bienvenue où la barre de titre est devenue une statusbar qui affiche les informations environnementales du logiciel.

Mon soucis survient lorsque je veux intégrer une image (photo) dans un un widget.

J'arrive à intégrer cette dernière directement dans le fichier Main.cpp, pas de soucis de ce côté la.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#include <QtGui>
 
int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    QLabel label;
    //on donne l'image au label
    label.setPixmap(QPixmap("Test.jpg")); 
    label.show();
    QObject::connect(&label, SIGNAL(clicked()), &app, SLOT(quit()));
    return app.exec();
}
Là ou je coince, c'est que j'utilise un fichier Main qui vas appeler une classe (se trouvant dans un autre fichier). Et ce sera cette classe qui définira la fenêtre (paramétrage et style).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
// Organisation physique du projet :
 
~/Projet/
~/Projet/IHM/Headers/Zonage.h
~/Projet/IHM/Zonage/Zonage.cpp
~/Projet/Main.cpp
Donc le fait d'inclure le code d'insertion de l'image dans le fichier Main.cpp n'est pas possible. Et je voudrai placer cette dernière dans le fichier de Zonage.cpp au niveau du constructeur.

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
 
// Fichier Zonage.cpp
 
#include <QtGui>
#include "../Headers/Zonage.h"
 
Zonage::Zonage()
{
// Barre de menu Gestion avec un sous menu Quitter :
QMenu *menuGestion = menuBar() -> addMenu("&Gestion");
  QAction *actionQuitter = new QAction("&Quitter"), this);
  menuGestion->addAction(actionQuitter);
     actionQuitter ->setShortcut(QKeySequence("Ctrl+Q"));
     connect(actionQuitter,   SIGNAL(triggered()), qApp, SLOT(quit()));
 
// Insertion photo :
QLabel label;
label.setPixmap(QPixmap("./Test.jpg"));
 
}
La photo se trouve dans le même dossier que Zonage.cpp d'où le chemin de la photo : "./Test.jpg"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
//Fichier Main.cpp
 
#include <QApplication>
#include "./IHM/Headers/Zonage.h"
 
int main(int argc, char *argv[])
{
  QApplication app(argc, argv);
  Zonage Obj_Zonage;
  Obj_Zonage.showMaximized();
  return app.exec();
}
Je vous ait fait grâce de l'header qui est très minimaliste.

En procédant de cette manière, je n'arrive pas a afficher mon image, mais ma barre de menu, avec le raccourci, est déjà active.
Je me doute bien, que c'est une erreur de grand débutant, mais je n'ai pas assez de bagages pour comprendre ce qui me bloque.

Merci d'avance pour toutes les aides apportées et encore plus pour les explications.
Merci à vous