Ist es möglich, trennen Sie alle von QObject verbindungen, ohne Sie zu löschen

Habe ich ein QObject ist, diese angeschlossen ist an ein anderes QObject B. Jetzt will ich Eine Verbindung zu C, eine Dritte QObject und vollständig zu trennen von der B.

Easy peasy! Problem ist ich habe eine Menge von A, die jeweils mit Ihren eigenen Satz von Signalen und slots (B/C sind generisch). Bisher habe ich manuell machen, ein verbinden und ein trennen-Methode für jede Klasse geben. Die Methoden sind im Grunde Kopien von einander, den Austausch der connect für disconnect nennen, gegen den don ' T repeat yourself).

Also meine Frage ist: 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?
}

Habe ich stocherte in der QMetaObjectQObject und die Signale und Slots Dokumentation mit kein Glück (obwohl, dass ist oft keine Garantie...).

InformationsquelleAutor der Frage Troyseph | 2015-08-20

Schreibe einen Kommentar