이 페이지에서

QKeyEvent Class

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

헤더: #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

보호된 함수

QKeyEvent(QKeyEvent &&)
QKeyEvent &operator=(QKeyEvent &&)
QKeyEvent &operator=(const QKeyEvent &other)

상세 설명

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

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

QWidget::setEnabled() 함수를 사용하면 위젯에 대한 마우스 및 키보드 이벤트를 활성화하거나 비활성화할 수 있습니다.

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

QFocusEvent 및 QWidget::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 가 true인 경우, isAutoRepeat()는 true가 됩니다. 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 가 true인 경우, isAutoRepeat()는 true가 됩니다. count 는 이벤트에 관련된 키의 수입니다.

일반 키 이벤트 데이터 외에도 nativeScanCode, nativeVirtualKey 및 nativeModifiers 가 포함됩니다. 이 추가 데이터는 단축키 시스템에서 어떤 단축키를 실행할지 결정하는 데 사용됩니다.

[protected delete] QKeyEvent::QKeyEvent(QKeyEvent &&)

QKeyEvent 의 인스턴스를 move-construct로 생성합니다. 이 함수는 삭제되었습니다.

int QKeyEvent::count() const

이 이벤트와 관련된 키의 개수를 반환합니다. text()이 비어 있지 않은 경우, 이는 단순히 해당 문자열의 길이입니다.

Qt::WA_KeyCompression도 참조하십시오 .

bool QKeyEvent::isAutoRepeat() const

이 이벤트가 자동 반복 키에서 발생한 것이라면 ` true `를 반환하고, 초기 키 입력에서 발생한 것이라면 ` false `를 반환합니다.

이벤트가 자동 반복에 부분적으로 기인한 다중 키 압축 이벤트인 경우, 이 함수는 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도 참조하십시오 .

[protected delete] QKeyEvent &QKeyEvent::operator=(QKeyEvent &&)

other 를 이 QKeyEvent 인스턴스에 이동 할당합니다. 이 함수는 삭제됩니다.

[noexcept protected default] QKeyEvent &QKeyEvent::operator=(const QKeyEvent &other)

other 를 이 QKeyEvent 인스턴스에 복사-할당합니다.

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