Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

난 정말 최고야 멋있어

Qt 시그널과 슬롯 본문

카테고리 없음

Qt 시그널과 슬롯

n00bh4cker 2020. 2. 27. 15:16

Qt 이벤트 핸들링 방식 : 시그널 & 슬롯

 

특정 이벤트가 발생하면 ? 시그널이 생김                    (시그널은 이벤트와 거의 같다고 생각하면 됨)

시그널이 생기면 그에 배정된 슬롯이 작동 함!              (슬롯은 콜백 함수와 거의 같다고 생각하면 됨)

이때 이 시그널과 슬롯을 이어주는 함수가 connect 함수   

 

connect(센더, 시그널, 리시버, 슬롯); 

 

이렇게 호출해주면 된다

시그널과 슬롯은 SIGNAL(),SLOT()이라는 매크로로 감싸주면 되고, 

센더는 이벤트를 일으키는 대상 (버튼을 클릭한다는 이벤트에서는 버튼이 센더)

리시버는 this 를 그냥 주면 되는듯하다. 아마 슬롯이 정의되어있는 클래스면 암거나 주면 되는것 같다

 

아 그리고 시그널은 직접 정의해서 쓸수 도 있지만 그러기 너무 귀찮으면 공식 레퍼런스 보고 베껴쓰면 된다

https://doc.qt.io/qt-5/qabstractbutton.html

 

또또 슬롯을 정의할때는

[접근 지정자] slots: 

//슬롯 선언

이런식으로 헤더에 추가해주면 된다

정의는 cpp 파일에 구현해주도록하자

 

뭐 슬롯 시그널은 "타입세이프함"을 공식 레퍼런스에서는 내세우고는 있지만.. 글쎄 ㅋㅋ

새로운 용어만 만들어서 혼란을 주는게 아닌가 싶다