Seite 1 von 1

Signal -> Signal

Verfasst: 23. Februar 2012 11:05
von DBGTMaster
Hallo,

ich habe ein Objekt, welches ein Signal wirft, ohne Parameter. Dieses Signal soll einen Slot eines anderes Objektes aufrufen, welches aber als Parameter "true" true erwartet.

Code: Alles auswählen

QObject::connect(myObj, SIGNAL(called()), myObj2, SIGNAL(doIt(true))
Ja ich weiß, so funtkioniert es nicht, da das Signal keinen Parameter hat...

Aber wie löse ich dieses am besten, ohne eine eigenen Slot schreiben zu müssen, welcher wiederrum doIt(true) aufruft..

lG

Re: Signal -> Signal

Verfasst: 23. Februar 2012 13:25
von brax
Signale können default Werte für Parameter haben. Wenn Du also die Signatur von doIt so aussieht:

Code: Alles auswählen

signals:
void doIt(bool arg=true);
und Du das so verbindest:

Code: Alles auswählen

QObject::connect(myObj, SIGNAL(called()), myObj2, SIGNAL(doIt());
Wird beim emitieren von called() auch das Signal doIt(true) emitiert.