Можно ли отключить все соединения QObject, не удаляя его?
У меня есть QObject A, это связано с другим QObject B. Теперь я хочу, чтобы A подключился к C, третьему QObject и полностью отключился от B.
Очень просто! Проблема в том, что у меня много А, каждый со своим набором сигналов и слотов (В / С более общие). До сих пор я вручную создавал метод подключения и отключения для каждого отдельного типа класса. Методы в основном являются копиями друг друга, обмениваясьconnect
заdisconnect
звонить, идти противне повторяйся).
Итак, мой вопрос: возможна ли следующая функция?
void deleteAllConnections(QObject* someObject) {
// TODO disconnect all connections owned by someObject
// For bonus points: Is there a way of accessing the QMetaObject connected to?
}
Я ковырялся вQMetaObject, QObject иСигналы и слоты документация без удачи (хотя это часто не гарантия ...).