На этом шаге рассмотрим метод disconnect() для разъединения объектов.
В Qt, при уничтожении объекта, все связанные с ним соединения уничтожаются автоматически, но в редких случаях может возникнуть необходимость в уничтожении этих соединений "вручную". Для этого существует статический метод disconnect(), параметры которого аналогичны параметрам статического метода connect().
В общем виде этот метод выглядит таким образом:
QObject::disconnect(sender, signal, receiver, slot);
Следующий пример демонстрирует, как может быть выполнено разъединение объектов в программе:
void main() { ... QObject::disconnect(pSender, SIGNAL(signalMethod()), pReceiver, SLOT(slotMethod()) ); ... }
Существуют два сокращенных, не статических варианта: disconnect(signal, receiver, slot) и disconnect(receiver, slot).
На следующем шаге рассмотрим организацию объектных иерархий.