Seite 1 von 1

gelöst: SIGNAL wird nicht gefunden

Verfasst: 18. Juni 2006 01:23
von mikro
aus irgendeinem Grund werden zwei meiner Signale nicht gefunden. in der .h habe ich:

Code: Alles auswählen

signals:
void loadProject();
void addAnlageOID(QString oid);
void deleteAnlageUID(QString uid);
in der Klassendeklaration schreibe ich dann:

Code: Alles auswählen

    connect(this,SIGNAL(addAnlageOID(QString oid)),treeAnlagen,SLOT(addAnlageOID(QString oid)));
    connect(this,SIGNAL(deleteAnlageUID(QString uid)),treeAnlagen,SLOT(deleteAnlage(int uid)));
und erhalte dafür auf der Konsole:

Code: Alles auswählen

Object::connect: No such signal MainWindow::addAnlageOID(QString oid)
Object::connect:  (sender name:   'MainWindow')
Object::connect:  (receiver name: 'treeAnlagen')
Object::connect: No such signal MainWindow::deleteAnlageUID(QString uid)
Object::connect:  (sender name:   'MainWindow')
Object::connect:  (receiver name: 'treeAnlagen')
ich such schon verzweifelt ob ich da irgendwo einen Typo habe.. die anderen Signale tuns ja auch.. ich habe auch schon make clean;make distclean;qmake;make gemacht aber er will einfach nicht.

Verfasst: 18. Juni 2006 09:13
von upsala

Code: Alles auswählen

connect(this,SIGNAL(addAnlageOID(QString)),treeAnlagen,SLOT(addAnlageOID(QString)));      connect(this,SIGNAL(deleteAnlageUID(QString)),treeAnlagen,SLOT(deleteAnlage(int)));

Verfasst: 18. Juni 2006 09:16
von upsala
Ups, jetzt war ich etwas zu schnell.
Das geht natürlich gar nicht:

Code: Alles auswählen

connect(this,SIGNAL(deleteAnlageUID(QString uid)),treeAnlagen,SLOT(deleteAnlage(int uid)));
Sender und Empfänger müssen den gleichen Datentyp haben, oder gar keinen. Also entweder:

Code: Alles auswählen

connect(this,SIGNAL(deleteAnlageUID(QString)),treeAnlagen,SLOT(deleteAnlage(QString)));
oder

Code: Alles auswählen

connect(this,SIGNAL(deleteAnlageUID(QString)),treeAnlagen,SLOT(deleteAnlage()));

Verfasst: 18. Juni 2006 11:18
von mikro
ach verflixt, darüber bin ich doch schon mal irgendwo gestolpert, dass man den Variablennamen nicht mit angeben darf. Danke, auf die Idee kam ich gestern nacht partout nicht mehr. Das natürlich beide den gleichen Datentyp brauchen ist klar - ich hatte v.a. die erste Zeile angestarrt, trotzdem Danke auch dafür: jetzt schweigt die Konsole brav ;)