Я создаю приложение с помощью Qt, но использую пользовательские правки текста через DirectX. Для получения китайского / корейского / японского ввода в текстовых редакторах я включил WA_inputMethodEnabled
на пользовательском виджете, который управляет DirectX.
Единственная проблема заключается в том, что теперь, когда моя клавиатура настроена на любой из этих языков, все события, передаваемые в QInputMethodEvents
редактирую ли я текст или нет. Так что я не получаю никаких QKeyEvents
что мне нужно обработать некоторые сочетания клавиш.
События передаются через фильтр событий.
Мой вопрос: есть ли способ узнать, какое физическое нажатие клавиши вызвало QInputMethodEvent
?
В качестве альтернативы, если активен IME, если щелкнуть значок в правом нижнем углу на панели задач Windows, вы можете переключаться между английским и другим языком. Есть ли способ сделать это через Qt? Таким образом, я могу просто переключаться между ними, когда редактирование текста активно / неактивно.
Благодарю.
Задача ещё не решена.
Других решений пока нет …