티스토리 뷰

목차

    [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 변경 사항