本页内容

使用 qt.conf

您可以使用qt.conf 文件来覆盖QLibraryInfo 中的路径,或指定要传递给平台插件的参数。

格式与位置

qt.conf 文件是一个 INI 文本文件,具体说明请参见QSettings 文档。

QLibraryInfo 将从以下任一位置加载qt.conf :

  1. :/qt/etc/qt.conf 使用资源系统
  2. 在 Apple 平台上,位于应用程序包内的 Resource 目录中,例如 macOS 上的assistant.app/Contents/Resources/qt.conf 。
  3. 在包含应用程序可执行文件的目录中,即QCoreApplication::applicationDirPath() +QDir::separator() + "qt.conf"

覆盖路径

qt.conf 文件可用于覆盖 Qt 使用的默认路径。这些路径可通过QLibraryInfo 类进行访问。

如果没有qt.conf 文件,Qt库将使用默认路径来查找插件、翻译文件等。这些路径在目标系统上可能不存在,或者无法访问。因此,您可能需要使用qt.conf 来让Qt库在其他位置进行查找。

该文件应包含一个名为Paths 的组,其中包含一个或多个与QLibraryInfo::LibraryLocation枚举值相对应的条目。有关各种位置含义的详细信息,请参阅QLibraryInfo 文档。

条目默认值
PrefixQCoreApplication::applicationDirPath()
Documentationdoc
Headersinclude
Librarieslib
LibraryExecutableslibexec 在 Unix 系统上,在 Windows 系统上为bin
Binariesbin
Pluginsplugins
QmlImportsqml
ArchData.
Data.
Translationstranslations
Examplesexamples
Teststests
Settings.

使用qt.conf 文件中指定的绝对路径。所有路径均以Prefix 为基准。在 Windows 和 Linux 系统上,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 开始,每个条目可以提供多个路径。这些路径必须以逗号分隔的列表形式提供。例如

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

逗号前后可以添加空格。如果路径中不包含逗号或空格,也可以省略条目周围的引号。

配置平台插件的参数

qt.conf 可能包含一个名为Platforms 的组,其键是用于传递给平台插件的参数列表,这些参数以逗号分隔。键名即为平台插件的名称,其中首字母大写,后跟Arguments 。

例如:

[Platforms]
WindowsArguments = fontengine=freetype

这将导致 Windows 平台插件使用 FreeType 字体引擎。

如何处理旧版 Qt 的并行安装

对于同时需要安装较早主要版本 Qt 的环境,可以使用针对特定版本的 qt.conf 文件。这在从一个 Qt 版本过渡到下一个版本时通常是必要的,或者用于避免因现有未标注版本的文件而引起的冲突。

为此,可以使用名为qt6.conf 的文件来代替qt.conf 文件。如果上述目录中同时存在这两个文件,则会使用qt6.conf 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.