Connections QML Type

신호에 대한 일반화된 연결에 대해 설명합니다. 더 보기...

Import Statement: import QtQml

속성

상세 설명

Connections 객체는 QML 신호에 대한 연결을 생성합니다.

QML에서 신호에 연결할 때 일반적인 방법은 다음과 같이 신호가 수신될 때 반응하는 "on<신호>" 핸들러를 만드는 것입니다:

MouseArea {
    onClicked: (mouse)=> { foo(mouse) }
}

그러나 다음과 같은 경우에는 이러한 방식으로 신호에 연결할 수 없습니다:

  • 동일한 신호에 대한 여러 연결이 필요한 경우
  • 신호 발신자의 범위를 벗어난 연결을 만드는 경우
  • QML에 정의되지 않은 대상에 연결하는 경우

이 중 하나라도 필요한 경우 연결 유형을 대신 사용할 수 있습니다.

예를 들어 위의 코드는 다음과 같이 Connections 개체를 사용하도록 변경할 수 있습니다:

MouseArea {
    Connections {
        function onClicked(mouse) { foo(mouse) }
    }
}

보다 일반적으로 연결 개체는 신호 발신자가 아닌 다른 개체의 자식이 될 수 있습니다:

MouseArea {
    id: area
}
// ...
Connections {
    target: area
    function onClicked(mouse) { foo(mouse) }
}

참고: 이전 버전과의 호환성을 위해 대상 객체에서 직접 지정하는 것처럼 function 없이 신호 처리기를 지정할 수도 있습니다. 이 방법은 권장하지 않습니다. 이 방법으로 하나의 신호 처리기를 지정하면 동일한 연결 개체에 function 로 지정된 모든 신호 처리기는 무시됩니다.

또한 Qt Qml.

속성 문서

enabled : bool

이 속성은 항목의 변경 이벤트 수락 여부를 보유합니다.

기본적으로 이 속성은 true 입니다.


ignoreUnknownSignals : bool

일반적으로 존재하지 않는 신호에 연결하면 런타임 오류가 발생합니다.

이 속성을 true 으로 설정하면 이러한 오류는 무시됩니다. 이 속성은 여러 유형의 개체에 연결하여 각 개체마다 다른 신호 집합을 처리하려는 경우에 유용합니다.


target : QtObject

이 속성은 신호를 보내는 객체를 보유합니다.

이 속성을 설정하지 않으면 target 기본값은 연결의 부모로 설정됩니다.

null로 설정하면 연결이 이루어지지 않으며 대상이 null이 아닐 때까지 모든 신호 핸들러가 무시됩니다.


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.