QKeyEvent Class

QKeyEvent 클래스는 키 이벤트를 설명합니다. 더 보기...

Header: #include <QKeyEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
상속합니다: QInputEvent

공용 함수

QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1)
QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard())
int count() const
bool isAutoRepeat() const
int key() const
(since 6.0) QKeyCombination keyCombination() const
bool matches(QKeySequence::StandardKey key) const
Qt::KeyboardModifiers modifiers() const
quint32 nativeModifiers() const
quint32 nativeScanCode() const
quint32 nativeVirtualKey() const
QString text() const

상세 설명

키 이벤트는 키를 누르거나 놓을 때 키보드 입력 포커스가 있는 위젯으로 전송됩니다.

키 이벤트에는 수신자가 키 이벤트를 처리할지 여부를 나타내는 특수 수락 플래그가 포함되어 있습니다. 이 플래그는 QEvent::KeyPressQEvent::KeyRelease 에 대해 기본적으로 설정되어 있으므로 키 이벤트에 대해 동작할 때 accept()를 호출할 필요가 없습니다. QEvent::ShortcutOverride 의 경우 수신자가 명시적으로 이벤트를 수락해야 오버라이드를 트리거할 수 있습니다. 키 이벤트에 대해 ignore()를 호출하면 상위 위젯으로 이벤트가 전파됩니다. 이벤트는 위젯이 이벤트를 수락하거나 이벤트 필터가 이벤트를 소비할 때까지 상위 위젯 체인으로 전파됩니다.

QWidget::setEnabled() 함수는 위젯의 마우스 및 키보드 이벤트를 활성화 또는 비활성화하는 데 사용할 수 있습니다.

이벤트 핸들러 QWidget::keyPressEvent(), QWidget::keyReleaseEvent(), QGraphicsItem::keyPressEvent() 및 QGraphicsItem::keyReleaseEvent()는 주요 이벤트를 수신합니다.

QFocusEventQWidget::grabKeyboard()도 참조하세요 .

멤버 함수 문서

QKeyEvent::QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1)

키 이벤트 객체를 생성합니다.

type 매개변수는 QEvent::KeyPress, QEvent::KeyRelease, 또는 QEvent::ShortcutOverride 여야 합니다.

Int key 는 이벤트 루프가 수신 대기해야 하는 Qt::Key 의 코드입니다. key 이 0이면 이벤트가 알려진 키의 결과가 아닌 경우(예: 작성 시퀀스 또는 키보드 매크로의 결과일 수 있음) 이벤트가 발생하지 않습니다. modifiers 은 키보드 수정자를 담고 있으며, 주어진 text 은 해당 키가 생성한 유니코드 텍스트입니다. autorep 가 참이면 isAutoRepeat()가 참이 됩니다. count 는 이벤트에 관련된 키의 수입니다.

QKeyEvent::QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, quint16 count = 1, const QInputDevice *device = QInputDevice::primaryKeyboard())

키 이벤트 객체를 생성합니다.

type 매개변수는 QEvent::KeyPress, QEvent::KeyRelease, 또는 QEvent::ShortcutOverride 여야 합니다.

Int key 는 이벤트 루프가 수신 대기해야 하는 Qt::Key 의 코드입니다. key 이 0이면 이벤트가 알려진 키의 결과가 아닌 경우(예: 작성 시퀀스 또는 키보드 매크로의 결과일 수 있음) 이벤트가 발생하지 않습니다. modifiers 은 키보드 수정자를 담고 있으며, 주어진 text 은 해당 키가 생성한 유니코드 텍스트입니다. autorep 가 참이면 isAutoRepeat()가 참이 됩니다. count 는 이벤트에 관련된 키의 수입니다.

일반적인 키 이벤트 데이터 외에도 nativeScanCode, nativeVirtualKeynativeModifiers 도 포함됩니다. 이 추가 데이터는 단축키 시스템에서 트리거할 단축키를 결정하기 위해 사용됩니다.

int QKeyEvent::count() const

이 이벤트에 관련된 키의 수를 반환합니다. text ()가 비어 있지 않으면 단순히 문자열의 길이입니다.

Qt::WA_KeyCompression참조하세요 .

bool QKeyEvent::isAutoRepeat() const

이 이벤트가 자동 반복 키에서 발생한 경우 true 을 반환하고, 최초 키 누름에서 발생한 경우 false 을 반환합니다.

이벤트가 부분적으로 자동 반복으로 인한 다중 키 압축 이벤트인 경우 이 함수는 참 또는 거짓을 불확정적으로 반환할 수 있다는 점에 유의하세요.

int QKeyEvent::key() const

눌렀거나 놓았던 키의 코드를 반환합니다.

키보드 코드 목록은 Qt::Key 을 참조하세요. 이러한 코드는 기본 창 시스템과는 독립적입니다. 이 함수는 대문자와 소문자를 구분하지 않으므로 text() 함수(키가 생성한 유니코드 텍스트를 반환)를 사용하세요.

0 또는 Qt::Key_unknown 값은 이벤트가 알려진 키의 결과가 아님을 의미합니다(예: 작성 시퀀스, 키보드 매크로 또는 키 이벤트 압축으로 인한 결과일 수 있음).

Qt::WA_KeyCompression참조하세요 .

[since 6.0] QKeyCombination QKeyEvent::keyCombination() const

이 이벤트가 전달하는 key() 및 modifiers()를 모두 포함하는 QKeyCombination 객체를 반환합니다.

이 함수는 Qt 6.0에 도입되었습니다.

bool QKeyEvent::matches(QKeySequence::StandardKey key) const

키 이벤트가 주어진 표준 key 과 일치하면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

Qt::KeyboardModifiers QKeyEvent::modifiers() const

이벤트 발생 직후에 존재했던 키보드 수정자 플래그를 반환합니다.

경고: 이 함수는 항상 신뢰할 수 있는 것은 아닙니다. 예를 들어 사용자가 Shift 키를 동시에 누르고 그 중 하나를 놓는 등 혼동할 수 있습니다.

QGuiApplication::keyboardModifiers()도 참조하세요 .

quint32 QKeyEvent::nativeModifiers() const

키 이벤트의 기본 수정자를 반환합니다. 키 이벤트에 이 데이터가 포함되어 있지 않으면 0이 반환됩니다.

참고: 키 이벤트에 확장 정보가 포함되어 있어도 기본 수정자는 0이 될 수 있습니다.

quint32 QKeyEvent::nativeScanCode() const

키 이벤트의 기본 스캔 코드를 반환합니다. 키 이벤트에 이 데이터가 포함되어 있지 않으면 0이 반환됩니다.

참고: 키 이벤트에 확장 정보가 포함되어 있어도 기본 스캔 코드는 0일 수 있습니다.

quint32 QKeyEvent::nativeVirtualKey() const

키 이벤트의 네이티브 가상 키 또는 키 심볼을 반환합니다. 키 이벤트에 이 데이터가 포함되어 있지 않으면 0이 반환됩니다.

참고: 키 이벤트에 확장 정보가 포함되어 있어도 네이티브 가상 키는 0일 수 있습니다.

QString QKeyEvent::text() const

이 키가 생성한 유니코드 텍스트를 반환합니다.

텍스트는 인쇄 가능한 유니코드 코드 포인트 범위로 제한되지 않으며, 제어 문자나 QChar::Other_PrivateUse 와 같은 다른 유니코드 범주의 문자를 포함할 수 있습니다.

Shift, Control, Alt, Meta 등의 수정자 키를 누른 경우와 같이 텍스트가 비어 있을 수도 있습니다(플랫폼에 따라 다름). key () 함수는 항상 유효한 값을 반환합니다.

Qt::WA_KeyCompression참조하세요 .

© 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.