Connect를 하다보면 같은 프로토콜이 다른 위젯에서 일시적으로 필요한 경우가있다.

이 경우 위젯이 메모리에서 삭제되면 disconnect가 자동으로 일어나기때문에 문제는 안되지만

상시적으로 살아있는 인스턴스라던가 혹은 자신의 부모위젯일경우 문제가 발생한다.

 

따라서 qt에서는 시그널을 끊을수있는 옵션이있다.

 

QMetaObject::Connection connectSignal;

connectSignal = connect(...);

 

 

 

//해제가 필요한 시점

disconnect(connectSignal);

 

간단하게 사용가능하다 :)

connectSignal은 실수를 방지하기 위해 해제후 초기화 해주는것이 좋다.

+ Recent posts