Seite 1 von 1

Signal / Slot Problem

Verfasst: 8. November 2007 19:39
von David27
Hallo, ich nutze eine Klasse (Ein ganzes SDK) in der ein Signal definiert ist, wie folgt:

Code: Alles auswählen

void authenticationRequest(const QString &msg,
                                 bool first_request_for_current_procedure);
Ein Objekt dieser Klasse habe ich in meiner Klasse nun erzeugt und möchte das Signal an diese Klassenmethode binden (im Konstruktor):

Code: Alles auswählen

void MxPEG_Decoder::authRequired(const QString msg, bool first_time)
{
	// TODO
};
das ganze versuche ich so:

Code: Alles auswählen

QObject::connect(ssource,SIGNAL(authenticationRequest(QString,bool)),SLOT(authRequired(QString,bool)));
jedoch bekomme ich immer diesen Fehler:
Fehler 1 error C2352: 'QObject::connect': Unzulässiger Aufruf einer nicht statischen Memberfunktion c:\users\...\mxpeg_decoder.cpp 14
Kann mir da jemand von euch helfen? Was mache ich falsch?

Gruß David

Verfasst: 8. November 2007 20:02
von upsala
Du hast den Receiver beim connect vergessen.

Verfasst: 8. November 2007 20:06
von David27
Das hatte ich erst, wenn ich das hier mache

Code: Alles auswählen

QObject::connect(ssource,SIGNAL(authenticationRequest(QString,bool)),this,SLOT(authRequired(QString,bool)));
bekomme ich diesen Fehler:
Fehler 1 error C2665: "QObject::connect": Durch keine der 2 Überladungen konnten alle Argumenttypen konvertiert werden. c:\users\...\mxpeg_decoder.cpp 14
Gruß David

Verfasst: 8. November 2007 20:17
von upsala
ssource und this sind aber schon vom Typ QObject oder davon abgeleitet?

Verfasst: 8. November 2007 20:18
von David27
So, also "this" war nicht abgeleitet, habe ich aber nun nachgeholt. Nun sagt er mir aber:
Object::connect: No such slot QObject::authRequired(QString,bool)
Kann man keine Signale an normale Klassenmethoden binden?[/quote]

Verfasst: 8. November 2007 20:25
von dhcase