問題タブ [qquickview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
589 参照

c++ - qsTr は QQuickView では機能しません

QQuickView を使用して、ウィジェット アプリケーションで qml インターフェイスを表示します

qml インターフェイスを多言語にする必要があるため、QQuickView をインスタンス化する前に、新しいトランスレーターをアプリケーションにインストールします。

load関数とinstallTranslator関数の両方が true を返します。(ターゲット言語の翻訳は ts ファイルに存在し、右のディレクトリに配置された qm ファイルにコンパイルされます)

問題は、C++ の翻訳がうまく機能することです。次のコードはターゲット言語で文字列を出力します。

しかし、QQuickView文字列によって表示されるqmlインターフェースでは、翻訳されていないままです

デバッグ中に、正しいsourceText変数を使用してQCoreApplication::translate関数が Qt によって呼び出されることがわかりましたが、からのすべての QTranslatorsは null QStringsを返すため、表示されるテキストは翻訳されません。qsTr("translation test")self->d_func()->translators

なぜこれが起こるのか、QQuickViewでテキストを翻訳する方法はありますか?

0 投票する
1 に答える
1363 参照

c++ - Qt: Qwidget ウィンドウ コンテナーを使用したレイアウト

QWidget 内に QML マップを表示するアプリケーションがあります。Qwidget は、マップがほとんどのスペースを占有できるようにするために、スプリッターを使用して水平レイアウトの一部を形成します。私のUI構造は下の画像のようになります。

wdgtMapは、ウィンドウ コンテナーとして使用されるものですそこに(デザイナーで)テキスト編集をドロップすると、テキスト編集は期待どおりにウィジェットを埋め、アプリケーションのサイズが変更されて最大化されると拡張します。

コードでマップ用のウィンドウ コンテナーを作成すると、マップは wdgtMap のサイズに拡張されません。私は無駄に多くの異なるオプションを試しました。

private セクションの下のヘッダー ファイルで、次のようにします。

2 番目の画像は最終的に完成したものです。右上のブロックに小さな地図が表示されています。アプリのサイズが変更されると、そのすべてのスペースを埋めて拡大/縮小したい。

正しい方向へのポインタは大歓迎です。

ここに画像の説明を入力

ここに画像の説明を入力