본문 바로가기
프로그래밍/Qt

시그널과 슬롯

by 사탕공방 2017. 3. 26.

이 포스트는 네이버 블로그에 올렸던 포스트를 가져온 것입니다.




Qt에서는 객체 사이의 통신 혹은 이벤트를 처리하기 위해 시그널과 슬롯을 제공.
- GUI상에서 발생한 이벤트 처리
- 객체 사이의 데이터 통신

1. 시그널과 슬롯은 오브젝트 사이의 통신을 위한 매커니즘이다.
- 시그널과 슬롯은 사용자의 다양한 이벤트를 처리하기 위해 다양한 콜백함수를 제공.

2. Qt에서 제공되는 모든 위젯은 미리 정해진 다양한 시그널을 갖는다.

3. 시그널이란 이벤트가 발생하면 처리하는 것.

4. 슬롯은 시그널로부터 받은 이벤트를 처리할 함수를 지정해주는 함수.

5. 시그널과 슬롯은 항상 1:1로 매칭되는 것이 아니다.
- 하나의 시그널은 다수의 슬롯과 연결해 사용 가능
- 슬롯도 마찬가지로 여러 개의 시그널 입력을 하나의 슬롯을 통해 연결 가능

6. 마우스 클릭 이벤트 발생 시 특정 함수가 실행되는 슬롯을 연결하기 위해서는 connect 함수를 사용
- connect 함수는 시그널과 슬롯을 연결하는 함수이며 마우스 click 이벤트 이외에 직접 용도에 맞는 시그널과 슬롯을 정의하여 사용할 수 있다.

7. emit은 시그널 함수를 수행하기 위해 사용되는 키워드로써 수행할 시그널을 emit으로 지정하면 connect 함수로 지정된 시그널 이벤트가 발생한다.

출처 - Qt5 프로그래밍 가이드 김대진 지음

'Qt' 카테고리의 다른 글

Qt5.7 Visual Studio 2015  (0) 2017.03.26
QTableWidget 컬럼 사이즈(column size)  (0) 2017.03.26

댓글