IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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
    Homme Profil pro
    Maker
    Inscrit en
    mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Maker
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : mars 2006
    Messages : 9
    Points : 7
    Points
    7
    Par défaut 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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    25 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 25 718
    Points : 200 902
    Points
    200 902
    Billets dans le blog
    82
    Par défaut
    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.

Discussions similaires

  1. Réponses: 14
    Dernier message: 15/07/2017, 16h28
  2. Réponses: 3
    Dernier message: 10/08/2012, 14h24
  3. Réponses: 5
    Dernier message: 13/12/2011, 13h18
  4. Fonction flip Vertical pour une matrice
    Par romain1986 dans le forum SDL
    Réponses: 5
    Dernier message: 05/04/2007, 11h17
  5. Comment faire des etats pour une application web ?
    Par ovh dans le forum Autres outils décisionnels
    Réponses: 5
    Dernier message: 06/08/2004, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo