Impossible de connecter le signal de logement dans une autre classe

J'ai 2 classes. De classe A et de Classe B. je suis en émettant un signal de la classe A qui je veux le B à recevoir.

Je le fais de la manière suivante

En Auditeur Fichier

Header File:
  Class Listener:public DDSDataReaderListener
  {
     //Some code
    public:
       A m_objectSendData;
  }

Mise En Œuvre De Fichier:

  void Listener::ondataavailable(DDSDataReader *reader)
 {
  m_objSendData.GetDDSData();
 }

Dans La Classe Un

Fichier D'En-Tête:

Class A:public QObject
{
  Q_OBJECT
  public:
    void GetDDSData();
  signals:
    void Signal_Data();
}

.Fichier cpp

 A::A(QWidget *parent):QObject(parent)
{
}

void A::GetDDSData()
 {
   emit Signal_Data();
 }   

Dans La Classe B

Header File:

  Class B:public QObject
  {
    Q_Object
    public:
    A objGetData;

    public slots:
    void getData();
  }

Implementation File:

 B::B(QWidget *parent):QObject(parent)
{
   //Some part of code

  connect(&objGetData,SIGNAL(Signal_Data()),this,SLOT(getData());
 }

 void B::getData()
 {
    //Watever is to be updated
  }

J'ai essayé de débogage. Il va jusqu'à émettre de la partie correctement. Cependant, il n'est pas d'atteindre la fente.
Quelqu'un peut-il m'aider avec cela.
Merci.

Recevez-vous des messages comme Object::connect: No such slot B::SlotB() lorsque vous exécutez votre application?
Non, il n'est pas en montrant un tel message
Eh bien, je ne vois rien de mal dans le code que vous avez posté ci-dessus, sauf pour le manque ) avant ; dans votre connect déclaration, mais qui n'est évidemment pas manquer dans votre code.
vérifier la valeur booléenne connect retourne. Si c'est true alors la connexion a été un succès et que vous n'émet pas de signal. Si elle renvoie false puis vérifiez réponse @Merlin069 a vous a donné.
Une chose de plus, vous ne montrez pas assez de code, mais je suspecte que vous programme champ d'application de feuilles de objectA variable et votre émettant objet est détruit avant de pouvoir émettre un signal (objectA est variable locale créé sur la pile pas sur le tas).

OriginalL'auteur Sid411 | 2013-08-07