2016-08-04 1 views
1

私のアプリケーションでQt変換ファイルqt_ru.qmをリソースとして追加したい場合、はパス:D:\Programming\tools\Qt\5.5\msvc2013\translationsを返します。リソースエディタでファイルを追加しようとすると、そのファイルはプロジェクトディレクトリの外にあり、コピーすることを提案します。しかし、私はこれをしたくありません。翻訳パスを指す変数に組み込まれたQtを置換することは可能ですか? のような何か:リソースシステムのQtパス

<RCC> 
    <qresource prefix="/"> 
     <file alias="qt_ru.qm">%QtPathToTranslation%/qt_ru.qm</file> 
    </qresource> 
</RCC> 

答えて

1

この翻訳ファイルは、Qtと一緒に配備されることを前提としています。アプリケーションのリソースに手動で追加するつもりはありません。 Qtの動的にリンクされたビルドを使用しているので、すでに特定のフォルダ構造に多数のファイルを展開しています。翻訳はその展開に属します。

+0

正直言って私はオリジナルの質問の著者は自分のアプリケーションのカスタム翻訳を展開したいと思いますが、何らかの理由でqt_ru.qmを参照していますが、デフォルトの翻訳ファイルを調整する理由がわかりません。独自のファイルを展開してこの翻訳をインストールする必要があります。 – evilruff

+0

Qt5アプリケーションのデプロイメントは、バイナリでどれくらいの間コピーする必要があるかという点で、ひどいです。だから、私は翻訳を集約して、 "ネイティブ" Qtの方法で使うのではなく、好きです。 – Jeka

+0

@Jekaこのような "細分化"のポイントはありません。ロケールによると、Qtはその翻訳ファイルのうちの1つだけを開きます。それらを個々のファイルと比較してリソースとして配備することで、スペースの面で何も無駄になりません。それらをすべてリソースとしてバンドルすると、実行可能ファイルのアドレス空間にマップされ、アプリケーションのプリフェッチがアクティブな場合、ディスクから不必要にフェッチされる可能性があります。 **ファイルシステム上にファイルとしてファイルを残すことが適切な場合があります。これはそのような場合です。**なぜあなたはそのファイルの数を心配していますか?あなたのインストーラはあなたのためにそれを処理する必要があります。 –

1

あなたがより良いwindeployqtでそれを展開し、Qtはその「ネイティブ」な方法でそれを使用してみましょうでしょう。

関連する問題