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

Qt Discussion :

Connection de signaux DBus avec qt


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Par défaut Connection de signaux DBus avec qt
    Bonjour,

    J'utilise qdbus pour mon application en qt et je n'arrive pas à connecter un signal.
    J'ai un introspec xml avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <signal name="incomingCall">
          <arg type="s" name="accountID" />
          <arg type="s" name="callID" />
          <arg type="s" name="from" />
    </signal>
    Ce qui me fait une classe interface avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Q_SIGNALS: // SIGNALS
        void incomingCall(const QString &accountID, const QString &callID, const QString &from);
    Dans le constructeur de ma fenêtre, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
    connect(&callManager, SIGNAL(incomingCall(const QString &accountID, const QString &callID, const QString &from)),
    	    this,    SLOT(on_incomingCall(const QString &accountID, const QString &callID, const QString &from)));
    et j'ajoute un slot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void on_incomingCall(const QString &accountID, const QString &callID, const QString &from);
    Je sais que le signal est envoyé mais mon slot n'est pas exécuté.
    CallManagerInterfaceSingleton sert juste à fabriquer l'interface avec les bons paramètres. Je l'utilise pour appeler des méthodes et il marche très bien donc le problème ne doit pas venir de là.
    Est-ce que je me trompe quelque part?

    Merci beaucoup

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut
    il faut mettre uniquement l'interface des signal/slot dans un connect.Donc enlève accountID callID et from
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    connect(&callManager, SIGNAL(incomingCall(const QString &, const QString &, const QString &)),
    	    this,    SLOT(on_incomingCall(const QString &, const QString &, const QString &)));

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Par défaut
    En effet. Merci beaucoup Yan. Je pensais que les deux étaient possibles.
    Sinon, je propose aux développeurs de qt de mettre une erreur de compil dans ce cas, au lieu de laisser passer le truc sans rien dire et de ne rien faire à l'exécution. A moins qu'un détail ne m'échappe.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par bourriquet_42 Voir le message
    Sinon, je propose aux développeurs de qt de mettre une erreur de compil dans ce cas, au lieu de laisser passer le truc sans rien dire et de ne rien faire à l'exécution. A moins qu'un détail ne m'échappe.
    C'est impossible. Les connect sont dynamique. Par contre tu as un warning dans la console qui te précise que le connect ne marche pas

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Par défaut
    Au temps pour moi alors, j'ai du louper le warning.
    Merci

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

Discussions similaires

  1. Connection a DB Oracle avec les drivers natif
    Par Psykotik dans le forum Interfaces de programmation
    Réponses: 3
    Dernier message: 07/09/2006, 11h30
  2. Réponses: 3
    Dernier message: 12/02/2006, 05h51
  3. Réponses: 3
    Dernier message: 14/11/2005, 16h18
  4. connection base de données avec VB6
    Par 24 faubourg dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/11/2005, 20h03
  5. ORA-12500 si connection a une 8i avec un listener 9i
    Par thomasjcj dans le forum Connexions aux bases de données
    Réponses: 3
    Dernier message: 27/10/2005, 15h48

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