728x90
QT에서 한글을 입력받게 만들어서 조합 하고 완성하기 위해서는 InputMethodEvent()를 사용해야 한다.
그런데 이 이벤트가 Debug에서는 발생하고, Release에서는 발생이 안되서 약 몇시간동안 삽질을 했었는데,
결론은 QWidget::setAttribute(Qt::WA_InputMethodEnabled, true); 으로 InputMethodEvent를 사용하겠다고 명시적으로 설정해야된다.
한글 조합 및 완성
- InputMethodEvent()에서 QInputMethodEvent를 매개변수로 받는데, 이 매개변수의 preeditString()은 조합 중인 단어, commitString()은 조합이 완료된 단어이다. 이것을 잘 이용하면 실시간으로 한글이 작성되는 것을 볼 수 있다.
InputMethodEvent()가 발생하지 않는다면...
- 이 이벤트가 발생하지 않는 QWidget의 속성에서 사용하겠다고 알려주면 된다.
QWidget::setAttribute(Qt::WA_InputMethodEnabled, true);
728x90
'GUI Toolkit > QT' 카테고리의 다른 글
QT - Dragger (0) | 2023.06.22 |
---|---|
QT - QWidget에서 DirectX Rendering (0) | 2019.11.20 |
QT - qDebug() 와 QT_NO_DEBUG_OUTPUT (0) | 2019.01.17 |
QT - QT 설치하기. (0) | 2017.02.18 |