난 정말 최고야 멋있어
Qt 시그널과 슬롯 본문
Qt 이벤트 핸들링 방식 : 시그널 & 슬롯
특정 이벤트가 발생하면 ? 시그널이 생김 (시그널은 이벤트와 거의 같다고 생각하면 됨)
시그널이 생기면 그에 배정된 슬롯이 작동 함! (슬롯은 콜백 함수와 거의 같다고 생각하면 됨)
이때 이 시그널과 슬롯을 이어주는 함수가 connect 함수
connect(센더, 시그널, 리시버, 슬롯);
이렇게 호출해주면 된다
시그널과 슬롯은 SIGNAL(),SLOT()이라는 매크로로 감싸주면 되고,
센더는 이벤트를 일으키는 대상 (버튼을 클릭한다는 이벤트에서는 버튼이 센더)
리시버는 this 를 그냥 주면 되는듯하다. 아마 슬롯이 정의되어있는 클래스면 암거나 주면 되는것 같다
아 그리고 시그널은 직접 정의해서 쓸수 도 있지만 그러기 너무 귀찮으면 공식 레퍼런스 보고 베껴쓰면 된다
https://doc.qt.io/qt-5/qabstractbutton.html
또또 슬롯을 정의할때는
[접근 지정자] slots:
//슬롯 선언
이런식으로 헤더에 추가해주면 된다
정의는 cpp 파일에 구현해주도록하자
뭐 슬롯 시그널은 "타입세이프함"을 공식 레퍼런스에서는 내세우고는 있지만.. 글쎄 ㅋㅋ
새로운 용어만 만들어서 혼란을 주는게 아닌가 싶다