boucle d'affichage de donnée dans le main d'un projet Qt
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

boucle d'affichage de donnée dans le main d'un projet Qt



  1. #1
    invite33fb947b

    boucle d'affichage de donnée dans le main d'un projet Qt


    ------

    Bonjour à tous,
    je suis entrain de développer un programme qui aura pour but de permettre de piloter un drone (quadricopter) mais je bloque sur la création d'un boucle dans le programme.

    Je voudrais créer une boucle après initialisation de la fenêtre principale du programme permettant de récupérer des données transmises par le drone et par mon joystick, faire quelques petit calcul puis afficher les données et envoyer les commandes de pilotage au drone.

    Pour le moment, mon programme affiche la fenêtre (via une classe MainWindow utilisant une ui), puis j'initialise la gestion du joystick (via SDL). Jusque là c'est tout ok.
    Mais ensuite, je ne peux pas créer de boucle while du style:

    Code:
     
            //INITIALISATION OK
    
            while(!Quitter)
            {
                //ACQUISITION DES DONNEES DU DRONE
    
                //CALCUL DES VALEURS INSTRUMENT
    
                //ACQUISITION DONNEES DE COMANDE JOYSTICK
    
                //CALCUL DES PWM & POURCENTAGE MOTEUR
    
                //TRANSMISSION DES DONNEES
    
                //AFFICHAGE DES DONNEES
    
            }
    Car si lorsque je fais cette boucle, une fenêtre apparaît bien mais elle ne contient rien...

    Si vous avez une idée pour contourner le problème, vous êtes l'homme(/femme) de la situation!

    -----

  2. #2
    invited1c1a33e

    Re : boucle d'affichage de donnée dans le main d'un projet Qt

    Bonjour, quand un programme Qt se lance il contient déjà une boucle qui attend des évènements.

    Par conséquent il vous faut transformer votre algorithme en conséquence. Pour démarrer je vous invite à lire ce cours sur les signaux et les slots :

    http://www.siteduzero.com/tutoriel-3...les-slots.html

  3. #3
    invite33fb947b

    Re : boucle d'affichage de donnée dans le main d'un projet Qt

    Je viens de lire le cours sur le signaux et les slots.
    Le problème reste que la boucle que je veux implémenter s'exécuterait en continue et non pas lorsque l'on appui sur un bouton (au quel cas elle ne s'exécuterai qu'une seule fois)

  4. #4
    invite7a96054d

    Re : boucle d'affichage de donnée dans le main d'un projet Qt

    Bonjour,

    il y a un truc qui me choque dans ta conception : tu mélanges Qt et SDL. Chacun des deux framework va avoir son propre thread de gestion de événements, je pense que ça va être compliqué de faire ommuniquer les deux (je ne dis pas que c'est impossible). Pourquoi avoir décidé d'utiliser 2 frameqorks plutôt que 1 ? Que ne peux-tu fire avec l'un que tu ne peux pas faire avec l'autre ?

  5. A voir en vidéo sur Futura
  6. #5
    invite33fb947b

    Re : boucle d'affichage de donnée dans le main d'un projet Qt

    Bah en fait, j'ai trouver comment me servir d'un joystick avec SDL donc j'utilise SDL mais pour faire mon interface graphique, j'ai besoin de Qt.
    Par contre si l'on peut se servir d'un joystick avec Qt, en effet je peut me passer de SDL.

  7. #6
    invited1c1a33e

    Re : boucle d'affichage de donnée dans le main d'un projet Qt

    Citation Envoyé par lalilalou13 Voir le message
    Le problème reste que la boucle que je veux implémenter s'exécuterait en continue et non pas lorsque l'on appui sur un bouton (au quel cas elle ne s'exécuterai qu'une seule fois)
    Un signal ne vient pas forcément d'un bouton, ça peut venir d'un timer ou bien d'un évènement externe comme le port série ou le joystick. Si vous avez vos propres routines de lecture, vous pouvez implémenter vos propres signaux comme expliqué dans le cours.

    Voici un exemple de lecture joystick avec Qt et SDL:
    http://code.google.com/p/joypick/

    J'ai regardé le source rapidement, ce projet utilise un timer mais ce n'est pas la seule manière de faire je pense.

  8. #7
    invite33fb947b

    Re : boucle d'affichage de donnée dans le main d'un projet Qt

    Ok, merci Zartan!
    je vais donc aller me voir le source pour regarder ça de plus prêt

Discussions similaires

  1. boucle dans une boucle
    Par invite320d6e59 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 15/04/2012, 10h51
  2. base de donnée sur un site web, avec une interface de saisie et d'affichage
    Par invite76481f9c dans le forum Programmation et langages, Algorithmique
    Réponses: 173
    Dernier message: 13/05/2011, 16h11
  3. Projection d'un point sur une droite dans l'espace suivant une direction donnée
    Par franchouze dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 27/02/2009, 13h37
  4. Réponses: 1
    Dernier message: 22/04/2008, 02h07
  5. Réponses: 24
    Dernier message: 11/05/2006, 15h07