如何更改Qt 5.7虚拟键盘布局/区域设置

Ste*_*anR 6 qt qml qt5.7 qtvirtualkeyboard

我正在使用Qml编写一个带有Qt 5.7的小型Windows应用程序.对于我的项目,我需要能够更改虚拟键盘布局.但经过几个小时的阅读文档和尝试各种事情,我仍然无法实现它.

我的Qt安装是默认的Windows安装,它是最新的(只检查是否有更新).

正如您在此处看到的,尽管我的操作系统区域设置为fi_FI,但键盘使用en_EN语言环境.并且还注意到"语言更改"按钮处于禁用状态.

在此输入图像描述

我还尝试从键盘设置列出可用的语言环境,我尝试通过键盘设置手动设置语言环境,但布​​局不会改变.以下是我的代码:

InputPanel {
    id: keyboardPanel
    y: Qt.inputMethod.visible ? parent.height - keyboardPanel.height : parent.height
    anchors.left: parent.left
    anchors.right: parent.right
    Component.onCompleted: {
        console.log("locales available: " + VirtualKeyboardSettings.availableLocales)
        console.log("Locale before changing it: " + VirtualKeyboardSettings.locale)
        VirtualKeyboardSettings.locale = "fi_FI";
        console.log("Locale after changing it: " + VirtualKeyboardSettings.locale)
    }
}
Run Code Online (Sandbox Code Playgroud)

运行该代码的结果是(键盘布局没有改变):

qml: locales available: 
qml: Locale before changing it: 
qml: Locale after changing it: fi_FI
Run Code Online (Sandbox Code Playgroud)

我可以使用自定义布局,但我不明白你如何改变自定义布局....

任何帮助将不胜感激.

Mit*_*tch 5

目前,如果构建时未指定语言,虚拟键盘仅使用英语作为默认语言。这很快就会改变——可能在 Qt 5.8 中。在此之前,您可以在构建模块时使用lang-all 配置选项。或者,您可以使用以下lang-<code>选项启用单独的语言:该页面上有一个示例,提到您将用于CONFIG+=lang-fi芬兰语(键盘的作者是芬兰语:))。