gelöst: SIGNAL wird nicht gefunden

Alles rund um die Programmierung mit Qt
Antworten
mikro
Beiträge: 60
Registriert: 19. April 2006 09:23
Wohnort: Erlangen
Kontaktdaten:

gelöst: SIGNAL wird nicht gefunden

Beitrag 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.
Zuletzt geändert von mikro am 18. Juni 2006 11:18, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

connect(this,SIGNAL(addAnlageOID(QString)),treeAnlagen,SLOT(addAnlageOID(QString)));      connect(this,SIGNAL(deleteAnlageUID(QString)),treeAnlagen,SLOT(deleteAnlage(int)));
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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()));
mikro
Beiträge: 60
Registriert: 19. April 2006 09:23
Wohnort: Erlangen
Kontaktdaten:

Beitrag 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 ;)
Antworten