qt.conf の使用
qt.conf
ファイルを使用して、パスを上書きしたり、プラットフォーム・プラグインに渡す引数を指定することができます。
フォーマットと場所
qt.conf
ファイルは、QSettings ドキュメントで説明されているように、INI テキストファイルです。
QLibraryInfo は、以下のいずれかの場所から を読み込みます:qt.conf
:/qt/etc/qt.conf
リソースシステムを使用する- macOS では、アプリケーションバンドル内の Resource ディレクトリにあります。
assistant.app/Contents/Resources/qt.conf
- アプリケーションの実行ファイルが含まれるディレクトリ、つまり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 |
QmlImports | qml |
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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。