Keys QML Type (Uncreatable)
Item에 대한 키 처리 기능을 제공합니다. 더 보기...
| Import Statement: | import QtQuick |
참고: 이 타입은 생성할 수 없는 타입입니다. QML에서 인스턴스를 생성할 수 없습니다.
속성
신호
- asteriskPressed(KeyEvent event)
- backPressed(KeyEvent event)
- backtabPressed(KeyEvent event)
- callPressed(KeyEvent event)
- cancelPressed(KeyEvent event)
- context1Pressed(KeyEvent event)
- context2Pressed(KeyEvent event)
- context3Pressed(KeyEvent event)
- context4Pressed(KeyEvent event)
- deletePressed(KeyEvent event)
- digit0Pressed(KeyEvent event)
- digit1Pressed(KeyEvent event)
- digit2Pressed(KeyEvent event)
- digit3Pressed(KeyEvent event)
- digit4Pressed(KeyEvent event)
- digit5Pressed(KeyEvent event)
- digit6Pressed(KeyEvent event)
- digit7Pressed(KeyEvent event)
- digit8Pressed(KeyEvent event)
- digit9Pressed(KeyEvent event)
- downPressed(KeyEvent event)
- enterPressed(KeyEvent event)
- escapePressed(KeyEvent event)
- flipPressed(KeyEvent event)
- hangupPressed(KeyEvent event)
- leftPressed(KeyEvent event)
- menuPressed(KeyEvent event)
- noPressed(KeyEvent event)
- pressed(KeyEvent event)
- released(KeyEvent event)
- returnPressed(KeyEvent event)
- rightPressed(KeyEvent event)
- selectPressed(KeyEvent event)
- shortcutOverride(KeyEvent event)
- spacePressed(KeyEvent event)
- tabPressed(KeyEvent event)
- upPressed(KeyEvent event)
- volumeDownPressed(KeyEvent event)
- volumeUpPressed(KeyEvent event)
- yesPressed(KeyEvent event)
상세 설명
모든 시각적 프리미티브는 Keys 부착 유형을 통해 키 처리를 지원합니다. 키는 onPressed 및 onReleased 신호 속성을 통해 처리할 수 있습니다.
이 신호 속성에는 이벤트의 세부 정보를 포함하는 'event'라는 이름의 KeyEvent 매개변수가 있습니다. 키를 처리할 경우, 이벤트가 항목 계층 구조를 따라 상위로 전파되는 것을 방지하기 위해 event.accepted를 true로 설정해야 합니다.
사용 예
다음 예제는 일반적인 onPressed 핸들러를 사용하여 특정 키(이 경우 왼쪽 커서 키)를 검사하는 방법을 보여줍니다.
Item {
anchors.fill: parent
focus: true
Keys.onPressed: (event)=> {
if (event.key == Qt.Key_Left) {
console.log("move left");
event.accepted = true;
}
}
}일부 키는 onSelectPressed와 같은 특정 신호 속성을 통해 처리될 수도 있습니다. 이러한 핸들러는 event.accepted를 자동으로 true로 설정합니다.
Item {
anchors.fill: parent
focus: true
Keys.onLeftPressed: console.log("move left")
}키보드 코드 목록은 Qt.Key 를 참조하십시오.
키 처리 우선순위
Keys 부착 유형은 부착된 항목보다 먼저 또는 나중에 키 이벤트를 처리하도록 구성할 수 있습니다. 이를 통해 이벤트를 가로채어 항목의 기본 동작을 재정의하거나, 항목에서 처리하지 않는 키에 대한 대체 처리를 수행할 수 있습니다.
priority 가 Keys.BeforeItem(기본값)인 경우, 키 이벤트 처리 순서는 다음과 같습니다:
- 다음과 같이 지정된
forwardTo - onReturnPressed, onReleased와 같은
- onPressed, onReleased 핸들러
- 항목별 키 처리(예: ` TextInput ` 키 처리)
- 상위 항목
우선순위가 Keys.AfterItem인 경우 키 이벤트 처리 순서는 다음과 같습니다:
- 항목별 키 처리(예: TextInput 키 처리)
- 다음에서 지정된 항목
forwardTo - onReturnPressed와 같은 특정 키 핸들러에 지정된 항목
- onPressed, onReleased 핸들러
- 상위 항목
위의 단계 중 어느 단계에서든 이벤트가 수락되면 키 전파가 중지됩니다.
KeyEvent 및 KeyNavigation attached property도 참조하십시오 .
속성 문서
enabled : bool
이 플래그가 true인 경우(기본값) 키 처리가 활성화되며, 그렇지 않은 경우 키 핸들러는 호출되지 않습니다.
forwardTo : list<Item> [read-only]
이 속성은 키 입력, 키 해제 및 입력 방식에서 발생하는 키보드 입력을 다른 항목으로 전달하는 방법을 제공합니다. 이는 한 항목이 특정 키(예: 위·아래 화살표 키)를 처리하고, 다른 항목이 나머지 키(예: 좌·우 화살표 키)를 처리하도록 하고 싶을 때 유용합니다. 키가 전달된 항목이 이벤트를 수락하면, 해당 이벤트는 더 이상 목록의 뒤쪽에 있는 항목들로 전달되지 않습니다.
이 예제에서는 키 이벤트를 두 개의 목록으로 전달합니다:
Item {
ListView {
id: list1
// ...
}
ListView {
id: list2
// ...
}
Keys.forwardTo: [list1, list2]
focus: true
}forwardTo를 사용할 때 이벤트가 수신되는 순서를 확인하려면 Key Handling Priorities 를 참조하십시오.
priority : enumeration
이 속성은 키가 연결된 항목의 자체 키 처리 전이나 후에 처리될지 여부를 결정합니다.
| 상수 | 설명 |
|---|---|
Keys.BeforeItem | (기본값) 일반 항목 키 처리 전에 키 이벤트를 처리합니다. 이벤트가 수락되면 해당 이벤트는 항목으로 전달되지 않습니다. |
Keys.AfterItem | 일반 항목 키 처리 후에 키 이벤트를 처리합니다. 항목이 키 이벤트를 수락하면, 해당 키 이벤트는 Keys 첨부 속성 핸들러에 의해 처리되지 않습니다. |
Key Handling Priorities도 참조하십시오 .
Signal 문서
asteriskPressed(KeyEvent event)
이 신호는 별표 '*' 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onAsteriskPressed 입니다.
backPressed(KeyEvent event)
이 신호는 뒤로 가기 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onBackPressed 입니다.
backtabPressed(KeyEvent event)
이 신호는 Shift+Tab 키 조합(Backtab)이 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onBacktabPressed 입니다.
callPressed(KeyEvent event)
이 신호는 통화 키가 눌렸을 때 발생합니다. ‘ event ’ 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onCallPressed 입니다.
cancelPressed(KeyEvent event)
이 신호는 취소 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당핸들러는 ` onCancelPressed`입니다.
context1Pressed(KeyEvent event)
이 신호는 Context1 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당핸들러는 ` onContext1Pressed`입니다.
context2Pressed(KeyEvent event)
이 신호는 Context2 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onContext2Pressed 입니다.
context3Pressed(KeyEvent event)
이 신호는 Context3 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onContext3Pressed 입니다.
context4Pressed(KeyEvent event)
이 신호는 Context4 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 이에 대응하는핸들러는 onContext4Pressed 입니다.
deletePressed(KeyEvent event)
이 신호는 Delete 키가 눌렸을 때 발생합니다. event 매개변수는 이 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDeletePressed 입니다.
digit0Pressed(KeyEvent event)
이 신호는 숫자 '0'이 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit0Pressed 입니다.
digit1Pressed(KeyEvent event)
이 신호는 숫자 '1'이 입력되었을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit1Pressed 입니다.
digit2Pressed(KeyEvent event)
이 신호는 숫자 '2'가 입력되었을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit2Pressed 입니다.
digit3Pressed(KeyEvent event)
이 신호는 숫자 '3'이 입력되었을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit3Pressed 입니다.
digit4Pressed(KeyEvent event)
이 신호는 숫자 '4'가 입력되었을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit4Pressed 입니다.
digit5Pressed(KeyEvent event)
이 신호는 숫자 '5'가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit5Pressed 입니다.
digit6Pressed(KeyEvent event)
이 신호는 숫자 '6'이 입력되었을 때 발생합니다. ' event ' 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit6Pressed 입니다.
digit7Pressed(KeyEvent event)
이 신호는 숫자 '7'이 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 이에 해당하는핸들러는 onDigit7Pressed 입니다.
digit8Pressed(KeyEvent event)
이 신호는 숫자 '8'이 입력되었을 때 전송됩니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit8Pressed 입니다.
digit9Pressed(KeyEvent event)
이 신호는 숫자 '9'가 입력되었을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDigit9Pressed 입니다.
downPressed(KeyEvent event)
이 신호는 아래쪽 화살표 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onDownPressed 입니다.
enterPressed(KeyEvent event)
이 신호는 Enter 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onEnterPressed 입니다.
escapePressed(KeyEvent event)
이 신호는 Escape 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 이에 해당하는핸들러는 onEscapePressed 입니다.
flipPressed(KeyEvent event)
이 신호는 ‘Flip’ 키가 눌렸을 때 전송됩니다. ‘ event ’ 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 이에 대응하는핸들러는 onFlipPressed 입니다.
hangupPressed(KeyEvent event)
이 신호는 끊기(Hangup) 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 이에 대응하는핸들러는 onHangupPressed 입니다.
leftPressed(KeyEvent event)
이 신호는 왼쪽 화살표 키가 눌렸을 때 발생합니다. ‘ event ’ 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당핸들러는 ` onLeftPressed`입니다.
menuPressed(KeyEvent event)
이 신호는 메뉴 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onMenuPressed 입니다.
noPressed(KeyEvent event)
이 신호는 ‘No’ 키가 눌렸을 때 발생합니다. ‘ event ’ 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당핸들러는 ` onNoPressed`입니다.
pressed(KeyEvent event)
이 신호는 키가 눌렸을 때 발생합니다. ` event ` 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당핸들러는 ` onPressed`입니다.
released(KeyEvent event)
이 신호는 키가 놓였을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onReleased 입니다.
returnPressed(KeyEvent event)
이 신호는 Return 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onReturnPressed 입니다.
rightPressed(KeyEvent event)
이 신호는 오른쪽 화살표 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onRightPressed 입니다.
selectPressed(KeyEvent event)
이 신호는 Select 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onSelectPressed 입니다.
shortcutOverride(KeyEvent event)
이 신호는 단축키로 사용될 가능성이 있는 키가 눌렸을 때 발생합니다. ` event ` 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
` event.accepted `을 ` true `으로 설정하면, ` Shortcut`과 같은 다른 유형의 객체에서 해당 키를 단축키로 사용하는 것을 방지할 수 있습니다. 예를 들어:
Item {
id: escapeItem
focus: true
// Ensure that we get escape key press events first.
Keys.onShortcutOverride: (event)=> event.accepted = (event.key === Qt.Key_Escape)
Keys.onEscapePressed: {
console.log("escapeItem is handling escape");
// event.accepted is set to true by default for the specific key handlers
}
}
Shortcut {
sequence: "Escape"
onActivated: console.log("Shortcut is handling escape")
}다른 신호와 마찬가지로, shortcutOverride 은 해당 항목에 activeFocus 가 설정되어 있는 경우에만 발생합니다.
참고: 이에 대응하는핸들러는 onShortcutOverride 입니다.
Shortcut도 참조하십시오 .
spacePressed(KeyEvent event)
이 신호는 스페이스 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당핸들러는 ` onSpacePressed`입니다.
tabPressed(KeyEvent event)
이 신호는 Tab 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onTabPressed 입니다.
upPressed(KeyEvent event)
이 신호는 위쪽 화살표 키가 눌렸을 때 발생합니다. ` event ` 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onUpPressed 입니다.
volumeDownPressed(KeyEvent event)
이 신호는 볼륨 낮추기(VolumeDown) 키가 눌렸을 때 발생합니다. event 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onVolumeDownPressed 입니다.
volumeUpPressed(KeyEvent event)
이 신호는 볼륨 높이기(VolumeUp) 키가 눌렸을 때 발생합니다. ` event ` 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onVolumeUpPressed 입니다.
yesPressed(KeyEvent event)
이 신호는 ‘Yes’ 키가 눌렸을 때 발생합니다. ‘ event ’ 매개변수는 해당 이벤트에 대한 정보를 제공합니다.
참고: 해당 핸들러는 onYesPressed 입니다.
© 2026 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.