qt.conf の使用

qt.conf ファイルを使用して、パスを上書きしたり、プラットフォーム・プラグインに渡す引数を指定することができます。

フォーマットと場所

qt.conf ファイルは、QSettings ドキュメントで説明されているように、INI テキストファイルです。

QLibraryInfo は、以下のいずれかの場所から を読み込みます:qt.conf

  1. :/qt/etc/qt.conf リソースシステムを使用する
  2. macOS では、アプリケーションバンドル内の Resource ディレクトリにあります。assistant.app/Contents/Resources/qt.conf
  3. アプリケーションの実行ファイルが含まれるディレクトリ、つまりQCoreApplication::applicationDirPath() +QDir::separator() + "qt.conf" からロードします。

パスの上書き

qt.conf ファイルを使用して、Qt ライブラリにコンパイルされているハードコードされたパスをオーバーライドすることができます。これらのパスにはQLibraryInfo クラスを使ってアクセスできます。qt.conf がなければ、QLibraryInfo の関数はこれらのハードコードされたパスを返します。そうでなければ、qt.conf で指定されたパスを返します。

qt.conf がない場合、Qt ライブラリはプラグインや翻訳などを探すために、ハードコードされたパスを使用します。これらのパスはターゲットシステムに存在しないか、アクセスできないかもしれません。このため、qt.conf 、Qtライブラリが他の場所を探すようにする必要があります。

このファイルには、QLibraryInfo::LibraryLocation enumの各値に対応するエントリを含むPaths グループが必要です。様々な場所の意味の詳細については、QLibraryInfo のドキュメントを参照してください。

エントリデフォルト値
プレフィックスQCoreApplication::applicationDirPath()
ドキュメントdoc
ヘッダinclude
ライブラリlib
ライブラリ実行可能ファイルlibexec Unixの場合、 Windowsの場合bin
バイナリbin
プラグインplugins
QmlImportsqml
ArchData.
データ.
翻訳translations
examples
テストtests
設定.

qt.conf ファイルで指定された絶対パスが使用されます。すべてのパスはPrefix からの相対パスです。Windows と X11 では、Prefix はアプリケーションの実行ファイルを含むディレクトリ (QCoreApplication::applicationDirPath()) からの相対パスです。macOS では、Prefix はアプリケーションバンドル内のContents からの相対パスです。例えば、application.app/Contents/plugins/ は Qt プラグインをロードするためのデフォルトの場所です。プラグインは、plugins ディレクトリの下の特定のサブディレクトリに配置する必要があることに注意してください(詳細はQt プラグインの作成方法を参照してください)。

注意: 後方互換性のため、Qml2Imports というエントリーはPaths セクションで有効で、QmlImports のフォールバックとして扱われます。

例えば、qt.conf ファイルは以下のようになります:

[Paths]
Prefix = /some/path
Translations = i18n

注意: バックスラッシュ文字はINIファイルでは特殊文字として扱われます(QSettings を参照)。そのため、Windowsでもパスにスラッシュを使用することを推奨する。そうでない場合はエスケープ文字が必要です:

Prefix = c:\\SomePath

Qt 6.8以降、1つのエントリに複数のパスを指定できるようになりました。Qt6.8以降では、1つのエントリーに複数のパスを指定することができます。例えば

QmlImports = "/path/to/imports1","/path/to/imports2"

カンマの前後にスペースを追加することができます。パスにカンマやスペースが含まれていない場合、エントリーの周りの引用符を省略することも可能です。

プラットフォーム・プラグインへの引数の設定

qt.conf にはPlatforms グループがあり、そのキーはプラットフォーム・プラグインに渡す引数のカンマ区切りリストです。キー名はプラットフォーム・プラグインの名前で、最初の文字は大文字で、その後にArguments が続きます。

例えば

[Platforms]
WindowsArguments = fontengine=freetype

を指定す る と 、 Windows プ ラ ッ ト フ ォームプ ラ グ イ ンは FreeType フ ォ ン ト エ ン ジ ン を使用す る よ う にな り ます。

古いバージョンの Qt を並行してインストールする方法

以前のメジャーバージョンの Qt もインストールする必要がある環境では、バージョン固有の qt.conf を使うことができます。これは、ある Qt バージョンから次の Qt バージョンへの移行段階や、バージョンのない既存ファイルによる競合を回避するために必要なことがよくあります。

この目的のために、qt.conf ファイルの代わりに、qt6.conf という名前のファイルを使うことができます。上記のディレクトリに両方のファイルが存在する場合は、qt6.conf が使用されます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。