У меня есть QObject A, это связано с другим QObject B. Теперь я хочу, чтобы A соединился с C, третьим QObject и полностью отключился от B.
Легкий peasy! Проблема в том, что у меня есть много A, каждый со своим набором сигналов и слотов (B/C более общие). До сих пор я вручную создавал метод подключения и отключения для каждого типа класса. Эти методы в основном являются копиями друг друга, обменивая вызов 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 и Документация и слоты без ведома (хотя это часто не является гарантией...).