Est-il possible de débrancher tous un QObject de connexions sans le supprimer

J'ai un QObject A, il est connecté à un autre QObject B. Maintenant, je veux Un pour se connecter à C, un tiers de QObject et de complètement déconnecter de B.

Facile comme bonjour! La difficulté est que j'ai beaucoup de A chacun avec leur propre ensemble de signaux et de slots (B/C sont plus générique). Jusqu'à présent j'ai été manuellement en faisant une connexion et une déconnexion de la méthode pour chaque type de classe. Les méthodes sont essentiellement des copies les uns des autres, l'échange du connect pour disconnect appel, allant à l'encontre de la ne vous répétez pas).

Donc ma question est: Est-ce la fonction suivante possible?

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

J'ai tourné autour de la QMetaObject, QObject et la Les signaux et les Slots documentation à pas de chance (mais qui souvent n'est pas une garantie...).

QObject::disconnect(); doc.qt.io/qt-5/qobject.html#débranchez-5
que les états de documentation Disconnects all signals in this object from receiver's method. je suis en train de lire qu'il se déconnecte tout de ce de l'objet signaux de autre de l'objet de slots, mais je ne sais pas encore si il déconnecte également autre de l'objet signaux de ce de l'objet de machines à sous.

OriginalL'auteur Troyseph | 2015-08-20