2016-11-09 6 views
4

qmlを使用してQt 5.7で小さなウィンドウアプリケーションを作成しています。 私のプロジェクトでは、仮想キーボードのレイアウトを変更する必要があります。しかし、ドキュメントを読んで何時間もしても、私はまだそれを達成することができません。Qt 5.7バーチャルキーボードレイアウト/ロケールの変更方法

QtのインストールはデフォルトのWindowsインストールで、最新の状態です(アップデートがあるかどうかがチェックされます)。

ご覧のとおり、OSロケールがfi_FIであっても、キーボードはen_ENロケールを使用します。また、言語変更ボタンが無効の状態になっていることに気づくでしょう。

enter image description here

私はまた、キーボード設定から使用可能なロケールの一覧を表示しようとした、と私は、キーボードの設定を経由して、手動でロケールを設定しようとしたが、レイアウトが変更されません。 相続人は私のそれらの事のためのコード:

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

自分でキーボードを作成しましたか? – Mitch

+0

いいえQt 5.7 http://doc.qt.io/qt-5/qtvirtualkeyboard-index.htmlにバンドルされています。ソースからビルドしませんでした。そのプレビルド版では複数のロケールとレイアウトが必要であることを理解しました。 – StefanR

+0

デフォルトのロケールはen_ENではありません(このようなロケールはありません)。 en_GBはデフォルトです。 'Component.onCompleted:VirtualKeyboardSettings.locale = locale.name'では、ロケールを' ApplicationWindow'のものか必要なものに変更することができます。 – Orient

答えて

3

現在、ビルド時に言語が指定されていない場合は、仮想キーボードonly uses English as the default languageが指定されています。これはまもなく変わります - おそらくQt 5.8。それまでは、モジュールを構築するときにlang-allconfiguration optionを使用することができます。または、lang-<code>オプションを使用して個々の言語を有効にすることもできます。このページには、フィンランド語にCONFIG+=lang-fi(キーボードの作成者はフィンランド語:)を使用する例があります)。

+0

ありがとう!私は彼らもドキュメントでこれを言及すべきだと思う...または多分私はそれを逃した? – StefanR

+0

フィンランドの例の下では、「他の言語が指定されていなければ、仮想キーボードには自動的に英語が含まれています」というメッセージが表示されます。 :) – Mitch

+0

'lang-all'オプションを有効にするにはどうすればいいですか? –

関連する問題