【问题标题】:How to change Qt 5.7 virtual keyboard layout/locale如何更改 Qt 5.7 虚拟键盘布局/语言环境
【发布时间】:2016-11-09 12:46:49
【问题描述】:

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

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

任何帮助将不胜感激。

【问题讨论】:

  • 键盘是你自己做的吗?
  • No.. 它与 Qt 5.7 doc.qt.io/qt-5/qtvirtualkeyboard-index.html 捆绑在一起,而且我不是从我自己的源代码中构建它的。我知道它应该在该预构建版本中具有多个语言环境和布局。
  • 默认语言环境不是 en_EN(没有这样的语言环境)。 en_GB 是默认值。在Component.onCompleted: VirtualKeyboardSettings.locale = locale.name 中,您可以将语言环境更改为ApplicationWindow 的一个或任何您想要的。
  • 由于键盘默认编译时仅使用 en_GB,因此您无法像 @Orient 那样更改语言环境。是的,没有像 en_EN 这样的语言环境,我的错。

标签: qt qml qt5.7 qtvirtualkeyboard


【解决方案1】:

当前虚拟键盘only uses English as the default language 如果在构建时没有指定语言。这很快就会改变——可能在 Qt 5.8 中。在那之前,您可以在构建模块时使用lang-allconfiguration option。或者,您可以使用lang-<code> 选项启用个别语言;该页面上有一个示例提到您将使用CONFIG+=lang-fi 表示芬兰语(键盘的作者是芬兰语:))。

【讨论】:

  • 非常感谢!我认为他们也应该在文档中提到这一点......或者我只是错过了它?
  • 它在芬兰示例下面说:The virtual keyboard automatically includes the English language if no other languages are specified. 虽然这不是一个好的默认行为。 :)
  • 您能否澄清一下,如何启用lang-all 配置选项?
  • @TorKlingberg,就像你对lang-fi 所做的那样:CONFIG+=lang-all
  • 不,我的意思是,我把它放在哪里?
猜你喜欢
  • 1970-01-01
  • 2012-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多