Hi Leute,
ich hab mit der Suche im Forum leider kein Erfolg gehabt, daher nun ein thread zum Thema.
Problem:
Ich habe ein QObject mit einem signal und nun moechte ich ueber alle QObjects iterieren die mittels connect als receiver zu diesem signal zugeordnet wurden.
Details:
Ich weis wie ich ueber alle Signale iteriere aber nun komm ich nicht weiter. Ich hab die signal-id/signature und kann auch abfragen wie viele receivers connected sind (QObject::receivers) finde nun aber keine methode einzelne receivers abzufragen (wie QObject *getReceiver(signalid, receiverindex)).
Motivation:
Ich moechte QObjects serialisieren. notifyConnect/notifyDisconnect moechte ich nicht verwenden da die Information ja schon irgendwo im QObject gespeichert ist und es mir sinnlos/ineffektiv erscheint auch noch selbst signal-receiver connections zu tracken.
Vielen Dank fuer Hinweise und Hilfe im vorraus,
David
wie ueber alle receivers eines signals iterieren?
Hi Upsala,
danke fuer deine Antwort.
Ich hatte im QObject quellcode nachgeschaut und es sieht so aus als waere die info tief im QObject vergraben. Zum Bsp. greift recievers() auf d_func() zu um die Anzahl zu ermitteln (wie genau weis ich nicht) und es scheint als wuerde d_func auf private/qt interne daten zugreifen von denen nicht gedacht ist, dass sie von ausserhalb verwendet werden.
Gruesse,
David
danke fuer deine Antwort.
Ich hatte im QObject quellcode nachgeschaut und es sieht so aus als waere die info tief im QObject vergraben. Zum Bsp. greift recievers() auf d_func() zu um die Anzahl zu ermitteln (wie genau weis ich nicht) und es scheint als wuerde d_func auf private/qt interne daten zugreifen von denen nicht gedacht ist, dass sie von ausserhalb verwendet werden.
Gruesse,
David