Microsoft IME 在应用程序中被禁用

Microsoft IME disabled while in application

我们需要我们的应用程序能够接受 Korean/Japanese 等语言作为输入。

但是,如果我将键盘语言设置为韩语,那么在任务栏的右下角我会看到:

如果我尝试输入任何内容,它只是普通的英文字符。

在任何其他 windows 应用程序(包括堆栈溢出)中,我可以输入这些字符(例如 ㅔㄹㅎ),这就是任务栏的样子:

我正在使用 Qt 和 C++,有什么方法可以获得与任何其他应用程序相同的行为?

尝试将 Qt 应用程序的 default locale 更改为您的目标语言。

QLocate::setDefault(QLocale("ko_KR"));

我们正在使用 OpenGL/DirectX 呈现的自定义文本编辑。在 Gl/Dx 小部件上,我需要添加 setAttribute(Qt::WA_InputMethodEnabled); 以启用 IME。