6

我正在使用 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)
    }
}

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

qml: locales available: 
qml: Locale before changing it: 
qml: Locale after changing it: fi_FI

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

任何帮助将不胜感激。

4

1 回答 1

4

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

于 2016-11-09T13:26:36.000 回答