이 페이지에서

QInputMethod Class

QInputMethod 클래스는 활성 텍스트 입력 방식에 대한 액세스를 제공합니다. 더 보기...

헤더: #include <QInputMethod>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
상속: QObject

공개 유형

enum Action { Click, ContextMenu }

속성

공개 함수

QRectF anchorRectangle() const
QRectF cursorRectangle() const
Qt::LayoutDirection inputDirection() const
QRectF inputItemClipRectangle() const
QRectF inputItemRectangle() const
QTransform inputItemTransform() const
bool isAnimating() const
bool isVisible() const
QRectF keyboardRectangle() const
QLocale locale() const
void setInputItemRectangle(const QRectF &rect)
void setInputItemTransform(const QTransform &transform)
void setVisible(bool visible)

공개 슬롯

void commit()
void hide()
void invokeAction(QInputMethod::Action a, int cursorPosition)
void reset()
void show()
void update(Qt::InputMethodQueries queries)

신호

정적 공용 멤버

QVariant queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument)

상세 설명

QInputMethod는 텍스트 편집기에서 플랫폼 텍스트 입력 방식과 통합하는 데 사용되며, 더 일반적으로는 애플리케이션 뷰에서 가상 키보드 표시 여부 및 키보드 크기 등 다양한 텍스트 입력 방식 관련 정보를 조회하는 데 사용됩니다.

Qt Quick 또한 Qt global object 를 통해 QML에서 QInputMethod에 Qt.inputMethod 속성으로 접근할 수 있습니다.

멤버 유형 문서

enum QInputMethod::Action

사용자가 수행한 작업의 종류를 나타냅니다.

상수값설명
QInputMethod::Click0일반 클릭/탭
QInputMethod::ContextMenu1컨텍스트 메뉴 클릭/탭(예: 마우스 오른쪽 버튼 또는 탭 후 길게 누르기)

invokeAction()도 참조하십시오 .

속성 설명서

[read-only] anchorRectangle : QRectF

창 좌표계에서 입력 항목의 앵커 사각형을 지정합니다.

앵커 사각형은 텍스트 예측 팝업과 같은 다양한 텍스트 편집 컨트롤에서 텍스트 선택 범위를 추적하는 데 자주 사용됩니다.

액세스 함수:

QRectF anchorRectangle() const

알림 신호:

void anchorRectangleChanged()

[read-only] animating : bool

가상 키보드가 열리거나 닫힐 때 true입니다.

키보드가 완전히 열려 있거나 닫혀 있을 때는 애니메이션이 false입니다. animating 가 true 이고 visibility 가 true 일 때는 키보드가 열리는 중입니다. animating 가 true 이고 visibility 가 false일 때는 키보드가 닫히는 중입니다.

액세스 함수:

bool isAnimating() const

Notifier 신호:

void animatingChanged()

[read-only] cursorRectangle : QRectF

창 좌표계에서 입력 항목의 커서 사각형.

커서 사각형은 텍스트 입력 내용을 추적하기 위해 텍스트 예측 팝업과 같은 다양한 텍스트 편집 컨트롤에서 자주 사용됩니다.

액세스 함수:

QRectF cursorRectangle() const

알림 신호:

void cursorRectangleChanged()

[read-only] inputDirection : Qt::LayoutDirection

현재 입력 방향.

접근 기능:

Qt::LayoutDirection inputDirection() const

알림 신호:

void inputDirectionChanged(Qt::LayoutDirection newDirection)

[read-only] inputItemClipRectangle : QRectF

창 좌표계에서 입력 항목의 잘린 사각형입니다.

잘린 입력 사각형은 다양한 입력 방식(예: 가상 키보드)에서 해당 입력 방식에 할당할 수 있는 화면 영역의 크기를 결정하는 데 자주 사용됩니다.

액세스 함수:

QRectF inputItemClipRectangle() const

알림 신호:

void inputItemClipRectangleChanged()

[read-only] keyboardRectangle : QRectF

창 좌표계에서 가상 키보드의 기하학적 구조.

키보드의 크기를 알 수 없는 경우, 이 값은 빈 사각형일 수 있습니다. 안드로이드의 플로팅 키보드가 바로 이러한 경우입니다.

액세스 함수:

QRectF keyboardRectangle() const

알림 신호:

void keyboardRectangleChanged()

[read-only] locale : QLocale

현재 입력 로케일.

액세스 함수:

QLocale locale() const

알림 신호:

void localeChanged()

[read-only] visible : bool

화면상의 가상 키보드 표시 여부

가상 키보드가 없는 기기의 경우 입력 방식 표시 여부는 'false'로 유지됩니다.

액세스 기능:

bool isVisible() const

Notifier 신호:

void visibleChanged()

show() 및 hide()도 참조하십시오 .

멤버 함수 설명서

[slot] void QInputMethod::commit()

사용자가 현재 작성 중인 단어를 편집기에 반영합니다. 이 함수는 주로 텍스트 예측 기능을 갖춘 입력 방식이나, 문자를 입력하는 데 사용되는 문자 집합과 편집기에 실제로 추가되는 문자 집합이 다른 입력 방식에서 필요합니다. 텍스트 작성을 중단시키는 모든 종류의 동작(예: 커서가 다른 곳으로 이동하는 경우)은 commit() 함수를 호출하여 작성 상태를 플러시해야 합니다.

[slot] void QInputMethod::hide()

가상 키보드를 닫도록 요청합니다.

일반적으로 애플리케이션은 이 함수를 호출할 필요가 없으며, 텍스트 편집기가 포커스를 잃을 때(예: 상위 뷰가 닫힐 때) 키보드가 자동으로 닫혀야 합니다.

QRectF QInputMethod::inputItemRectangle() const

입력 항목의 기하 구조를 입력 항목 좌표계로 반환합니다.

setInputItemRectangle()도 참조하십시오 .

QTransform QInputMethod::inputItemTransform() const

입력 항목 좌표를 창 좌표로 변환한 결과를 반환합니다.

setInputItemTransform()도 참조하십시오 .

[slot] void QInputMethod::invokeAction(QInputMethod::Action a, int cursorPosition)

사용자가 현재 입력 중인 단어를 탭하면 입력 항목에서 호출되며, 이는 액션 a 및 지정된 cursorPosition 에 의해 나타납니다. 입력 방식은 종종 이 정보를 활용하여 사용자에게 더 많은 단어 제안을 제공합니다.

[static] QVariant QInputMethod::queryFocusObject(Qt::InputMethodQuery query, const QVariant &argument)

매개변수 argument 를 사용하여 현재 포커스 대상에 query 를 전송하고 그 결과를 반환합니다.

[slot] void QInputMethod::reset()

입력 방식의 상태를 초기화합니다. 예를 들어, 텍스트 편집기는 일반적으로 텍스트를 삽입하기 전에 이 메서드를 호출하여 위젯이 텍스트를 받아들일 수 있도록 준비합니다.

포커스가 있는 편집기가 변경되면 입력 방식이 자동으로 재설정됩니다.

void QInputMethod::setInputItemRectangle(const QRectF &rect)

입력 항목의 기하 구조를 입력 항목 좌표계에서 rect 로 설정합니다. 이는 항목이 씬 내에서 이동되거나 포커스가 변경될 때마다 QQuickCanvas와 같은 포커스가 설정된 창에서 이 값을 업데이트해야 합니다.

inputItemRectangle()도 참조하십시오 .

void QInputMethod::setInputItemTransform(const QTransform &transform)

입력 항목 좌표를 창 좌표로 변환하는 변환을 ` transform`로 설정합니다. 장면 내에서 항목이 이동될 때마다 QQuickCanvas와 같은 포커스가 맞춰진 창에서 항목 변환을 업데이트해야 합니다.

inputItemTransform()도 참조하십시오 .

void QInputMethod::setVisible(bool visible)

키보드 표시 여부를 제어합니다. 이는 ` show()`을 호출하는 것과 동일합니다( visible 이 ` true`인 경우). 또는 ` hide()`을 호출하는 것과 동일합니다( visible 이 ` false`인 경우).

isVisible(), show(), hide()도 참조하십시오 .

[slot] void QInputMethod::show()

가상 키보드가 열리도록 요청합니다. 플랫폼에서 가상 키보드를 제공하지 않는 경우, 가시성 값은 false로 유지됩니다.

일반적으로 애플리케이션은 이 함수를 호출할 필요가 없으며, 텍스트 편집기가 포커스를 얻으면 키보드가 자동으로 열려야 합니다.

[slot] void QInputMethod::update(Qt::InputMethodQueries queries)

편집기의 입력 방식 쿼리 속성에 상태 변화가 발생했을 때, 플랫폼 입력 방식에 이를 알리기 위해 입력 항목에서 호출됩니다. 이 함수 queries 를 호출할 때는 어떤 속성이 변경되었는지 알리기 위해 `parameter` 매개변수를 사용해야 하며, 입력 방식은 ` QInputMethodQueryEvent`을 통해 관심 있는 속성에 대한 쿼리를 수행할 수 있습니다.

특히 커서 위치가 변경될 때마다 update를 호출하는 것이 중요한데, 이는 주변 텍스트나 텍스트 선택 범위와 같은 다른 쿼리 속성도 함께 변경되는 경우가 많기 때문입니다. 편의상 커서 위치와 함께 자주 변경되는 속성들은 Qt::ImQueryInput 값에 그룹화되어 있습니다.

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