티스토리 뷰
목차
[Qt 5 프로그래밍] connect 함수, signal slot 변경 사항
Qt5로 업데이트되면서 connect 함수 구현 문법이 수정되었습니다. Qt 공식 홈페이지에서 관련 사항을 확인해 볼 수 있습니다.
공식 홈페이지 - New Signal Slot Syntax in Qt 5 [링크]
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 변경 사항