我正在使用qml用Qt 5.7编写一个小窗口应用程序。 对于我的项目,我需要能够更改虚拟键盘布局。但经过几个小时的阅读文档和尝试各种各样的事情,我仍然无法实现它。
我的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
我可以使用自定义布局,但我不明白如何更改为自定义布局....
非常感谢任何帮助。
答案 0 :(得分:4)
目前虚拟键盘only uses English as the default language如果在构建时未指定语言。这将很快改变 - 可能在Qt 5.8。在此之前,您可以在构建模块时使用lang-all
configuration option。或者,您可以使用lang-<code>
选项启用单个语言;在该页面上有一个示例,提到您使用CONFIG+=lang-fi
作为芬兰语(键盘的作者是芬兰语:)。