본문 바로가기
C++ 200제/코딩 IT 정보

[Qt 5 프로그래밍] connect 함수, signal slot 변경 사항

by vicddory 2018. 5. 24.

[Qt 5 프로그래밍] connect 함수, signal slot 변경 사항


qt 5 signal slot connect 이벤트


Qt5로 업데이트되면서 connect 함수 구현 문법이 수정되었습니다. Qt 공식 홈페이지에서 관련 사항을 확인해 볼 수 있습니다.



Qt5 미만에서는 아래처럼 signal slot 이벤트 함수를 구현했었습니다.


1
2
3
4
connect(sender,
    SIGNAL(valueChanged(QString,QString)),
    receiver,
    SLOT(updateValue(QString)));
cs


반드시 SLOT에 해당하는 함수를 따로 구현하거나 해당 클래스에서만 처리해야 하는 불편함이 있었죠.


하지만, Qt5에서는 아래처럼 유연한 형태로 변경되었습니다.


1
2
3
4
connect(sender,
    &Sender::valueChanged,
    receiver,
    &Receiver::updateValue );
cs


알아서 형 변환이 이뤄지기에 디폴트 인자는 더이상 필요하지 않습니다.


덕택에 이제는 아래와 같이 구현할 수 있습니다.


1
2
3
4
connect(ui.object_,
    &QAction::triggered,
    this,
    &MainClass::DoSomething);
cs


SIGNAL()과 SLOT()를 따로 호출하지 않아도 됩니다. 간편해졌네요.


[Qt 5 프로그래밍] connect 함수, signal slot 변경 사항

댓글