¿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 ...).