我正在使用Qt 5.7和qml编写一个小型Windows应用程序。在我的项目中,我需要能够更改虚拟键盘布局。但是,经过数小时的阅读文档和尝试各种方法后,我仍然无法实现它。
我的Qt安装是默认的Windows安装,并且已经更新(刚刚检查是否有更新)。
正如您在这里所看到的,键盘使用en_EN语言环境,尽管我的操作系统语言环境是fi_FI。同时请注意,语言更改按钮处于禁用状态。
我可以使用自定义布局,但我不明白如何切换到自定义布局。任何帮助将不胜感激。
我的Qt安装是默认的Windows安装,并且已经更新(刚刚检查是否有更新)。
正如您在这里所看到的,键盘使用en_EN语言环境,尽管我的操作系统语言环境是fi_FI。同时请注意,语言更改按钮处于禁用状态。
我还尝试从键盘设置中列出可用的语言环境,并尝试通过键盘设置手动设置语言环境,但布局不会改变。以下是这些操作的代码:
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
我可以使用自定义布局,但我不明白如何切换到自定义布局。任何帮助将不胜感激。
Component.onCompleted: VirtualKeyboardSettings.locale = locale.name
中,您可以将语言环境更改为ApplicationWindow
或任何其他您想要的语言环境。 - Tomilov Anatoliy