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

Discussion :

Gestionnaire de signaux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de VivienD
    Homme Profil pro
    Développeur logiciel
    Inscrit en
    Octobre 2009
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur logiciel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 523
    Par défaut Gestionnaire de signaux
    Bonjour,


    En faisant un pause dans mes projets universitaires, je suis rappelé d'un système vu en cours l'été dernier. Je me suis dit: «et si je le mettais en place avec Qt pour gérer les signaux entre mes objets?» Ai-je bu trop de café pour avoir une idée pareille? Je n'en sais rien, mais le fait est que ça me taraude et que ça peut s'avérer super pratique.
    J'ai joint le schéma du système que je souhaite créer en pièce jointe et mon explication se basera dessus.

    Dans ce système, j'ai mes n objets et mon signal handler de part et d'autre d'un bus de données (en bleu et rouge). Chacun de ces objets possède un couple (rectangle gris) composé d'un émetteur de signal (petit rectangle noir) et d'un slot (petit rectangle blanc) qui le relie au bus.
    Les signaux envoyés par les objets à gauche du schéma (en bleu) sont reçus par le slot du signal handler. D'autre part, ce dernier renvoie à la réception d'un signal bleu un signal (en rouge) à destination de tous les objets connectés.
    Tous les signaux possèdent les arguments suivants:
    1. QString sender
    2. QList<QString> receivers
    3. QString subject
    4. QList<QVariant> contents

    Chaque objet recevant un signal rouge ne s'en occupera que s'il en est destinataire, mais sans en être l'expéditeur. Ce format nécessite le baptême de chaque objet présent dans le système en dehors du signal handler.

    Mais tout ce discours n'est pas vain, car j'affronte un problème dès le départ. En effet, à cause du format des signaux je ne peux pas utiliser QSignalMapper pour mon gestionnaire. Comment faire pour connecter tous mes signaux bleus au seul slot de mon signal handler?


    Merci d'avance pour votre aide.


    PS: Je suis prolixe en ce moment! Serais-je malade? Ou ai-je vraiment bu trop de café?

    EDIT: J'ai changé QString receiver et QString contents = "" en QList<QString> receivers et QList<QVariant> contents
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Avatar de VivienD
    Homme Profil pro
    Développeur logiciel
    Inscrit en
    Octobre 2009
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur logiciel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 523
    Par défaut
    Vu la quantité de réponses, je vais essayer de trouver une alternative pour mon gestionnaire de signaux. Si jamais vous trouvez quand même une solution à mon problème, vous pouvez toujours la poster ici: ça m'intéresse encore.

    PS: Désolé pour le double post.

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 263
    Par défaut les slots
    Bonjour, tiens regardes ça :

    http://qt.developpez.com/faq/?page=m...xetslots-creer

    Ca devrait te permettre de gerer tes signaux avec Qt
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre éclairé
    Avatar de VivienD
    Homme Profil pro
    Développeur logiciel
    Inscrit en
    Octobre 2009
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur logiciel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 523
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Bonjour, tiens regardes ça :

    http://qt.developpez.com/faq/?page=m...xetslots-creer

    Ca devrait te permettre de gerer tes signaux avec Qt
    Il y a certains trucs et astuces que je ne connaissais pas. Merci pour le lien.

    Par contre, j'estampille le sujet avec l'icône ; toutefois, si jamais je rencontre d'autres problèmes dans cette quête, je déterrerai ce sujet, pour éviter de polluer le forum.

    Bis dann.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/03/2011, 11h52
  2. [Amstrad] Signaux à gérer port E/S pour lire ROM
    Par Masterglob dans le forum Autres architectures
    Réponses: 7
    Dernier message: 12/01/2005, 12h03
  3. gestionnaire de memoire
    Par elone dans le forum C
    Réponses: 2
    Dernier message: 23/01/2003, 00h31
  4. [VB6] Gestionnaire des tache de windows 2000 avec VB6
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/11/2002, 08h21

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