Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Où placer ses fonctions d'initialisation pour une application ?
    Bonjour à tous,

    Je commence à développer depuis 2 semaines sur QtCreator et malgré des débuts difficiles sur l'installation de Qt et des librairies nécessaires à mon projet (sur ma Raspberry Pi) je suis enfin arriver à tester toutes les fonctions dont j'ai besoin unitairement: QSerialPort, QSettings, QTimer, QProcess, wiringPi etc... je suis assez content de moi

    mais un truc me chiffone depuis le début et je ne trouve nulle part (forum, ou site Qt) l'info suivante :

    Où dois-je mettre mes routines liés à l'initialisation de mon application !! en gros quand je développe des applis j'ai pour habitude d'avoir tout un bloc avec initialisation de l'ihm, chargement de fichier de config, etc...

    Là je ne vois pas de slot lié à la Mainwindow du genre OnCreate, OnShow ou je ne sais quoi qui me permettrait de placer tout cela juste après que la fenetre ai été créé.

    D'instinct j'aurais mis cela dans main.cpp, dans la fonction void main() où je pourrais donc mettre ce bloc d'init juste après la fonction show() de la fenetre. Mais lorsque je tape du code ici il manque le lien avec tout ce qui est dans MainWindow,ça ne fonctionne pas !!

    Pouvez-vous me dire comment vous gérer cela dans vos appli ? j'imagine qu'il y a différente façon de faire avec avantages et inconvénients ?

  2. #2
    Responsable 2D/3D/Jeux

    Bonjour,

    Les constructeurs de vos classes contiendront le code d'initialisation des données gérées par la classe. Aussi, vous pouvez toujours ajouter des classes pour encapsuler des éléments comme la gestion des capteurs, des entrées/sorties et ainsi de suite.
    Si rien de tout ça ne va, vous pouvez toujours mettre dans le main() , mais au bout d'un moment, il sera trop conséquent.

    Mon dernier conseil sera de déjà faire un truc fonctionnel, et ensuite, d'améliorer le code pour le rendre plus lisible/plus simple à faire évoluer. Mais si pour l'instant vous ne voyez pas comment l'organiser, faites déjà en sorte que cela marche.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.