Ist es möglich, alle Verbindungen eines QObjects zu trennen, ohne es zu löschen

Ich habe ein QObject A, dies ist mit einem anderen QObject B verbunden. Jetzt möchte ich, dass A eine Verbindung zu C herstellt, ein drittes QObject und sich vollständig von B trennt.

Kinderleicht! Das Problem ist, dass ich eine Menge von A's habe, von denen jedes einen eigenen Satz von Signalen und Slots hat (B's / C's sind allgemeiner). Bisher habe ich für jeden Klassentyp manuell eine Verbindungs- und eine Trennungsmethode erstellt. Die Methoden sind im Grunde Kopien voneinander, die das @ austauscheconnect zumdisconnect call, gehe gegen das nicht wiederholen).

So ist meine Frage: Ist die folgende Funktion möglich?

void deleteAllConnections(QObject* someObject) {
    // TODO disconnect all connections owned by someObject
    // For bonus points: Is there a way of accessing the QMetaObject connected to?
}

Ich habe in der herumgestochert QMetaObject, QObject und dieSignale und Slots Dokumentation ohne Glück (obwohl das oft keine Garantie ist ...).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage