Comment permettre l'utilisation de tous les fichiers de classe dans un projet à partir de l'inclusion de QtGui ?
-
Bonsoir à tout le monde. Si je vous écris c'est parce que j'ai créé un projet et j'ai voulu utiliser toutes les classes en incluant directement au début de ce projet: #include <QtGui> mais malgré cela lorsque je créais des objets de classe dont je n'avais pas inclu les noms des fichiers , QtCreator me générait des erreurs disant que la classe est inconnue. Pourtant, je savais que inclure QtGui me permettait de ne plus avoir à inclure d'autres fichiers. Mon projet est de type "Qt Widgets Application" .
Merci d'avance pour vos réponses.
-
Bonsoir,
Dans la description des classes, il y a également le nom du module où elles sont localisées. Cependant utiliser un include de module est une très mauvaise habitude à ne jamais prendre. Cet include va amener absolument toutes les classes du module pour finalement n'en utiliser qu'une ou deux. Cela va ralentir la compilation pour aucun bénéfice. Toujours inclure uniquement ce qui est utilisé. Cela évitera bien des désagréments sur le long terme.
L'autre bénéfice est d'éviter de devoir réécrire du code parce que certaine classe ont été déplacé d'un module à un autre.
-
@gouneken
Il faut toujours lire la documentation pour chaque classe que vous utilisez. Exemples:https://doc.qt.io/qt-5/qpushbutton.html
Header:
#include <QPushButton>
https://doc.qt.io/qt-5/qmap.html`
Header:
#include <QMap>
Etc.
-
Bonsoir,
Dans la description des classes, il y a également le nom du module où elles sont localisées. Cependant utiliser un include de module est une très mauvaise habitude à ne jamais prendre. Cet include va amener absolument toutes les classes du module pour finalement n'en utiliser qu'une ou deux. Cela va ralentir la compilation pour aucun bénéfice. Toujours inclure uniquement ce qui est utilisé. Cela évitera bien des désagréments sur le long terme.
L'autre bénéfice est d'éviter de devoir réécrire du code parce que certaine classe ont été déplacé d'un module à un autre.