¿Es posible desconectar todas las conexiones de un QObject sin eliminarlo?

Tengo un QObject A, este está conectado a otro QObject B. Ahora quiero que A se conecte a C, un tercer QObject y se desconecte completamente de B.

¡Pan comido! El problema es que tengo muchas A cada una con su propio conjunto de señales y ranuras (las B / C son más genéricas). Hasta ahora, he estado haciendo manualmente un método de conexión y desconexión para cada tipo de clase diferente. Los métodos son básicamente copias el uno del otro intercambiandoconnect paradisconnect llamada, yendo contra elno te repitas)

Entonces mi pregunta es: ¿es posible la siguiente función?

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

He hurgado en elQMetaObject, QObject y elSeñales y Ranuras documentación sin suerte (aunque eso a menudo no es una garantía ...).

Respuestas a la pregunta(1)

Su respuesta a la pregunta