使用qt.conf
Qt 5.10.1
您可以使用qt.conf
文件覆盖路径或指定要传递给平台插件的参数。
格式和位置
qt.conf文件是一个INI文本文件,如QSettings文档中所述。
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库在其他地方寻找路径。
该文件应具有Paths组,该组包含与QLibraryInfo::LibraryLocation
枚举的每个值对应的条目。 有关各个位置含义的详细信息,请参阅QLibraryInfo文档。
Entry | Default Value |
---|---|
Prefix | QCoreApplication::applicationDirPath() |
Documentation | doc |
Headers | include |
Libraries | lib |
LibraryExecutables | libexec |
Binaries | bin |
Plugins | plugins |
Imports | imports |
Qml2Imports | qml |
ArchData | . |
Data | . |
Translations | translations |
Examples | examples |
Tests | tests |
Settings | . |
使用绝对路径,如qt.conf
文件中所指定。 所有路径都相对于前缀。 在Windows和X11上,前缀相对于包含应用程序可执行文件的目录(QCoreApplication::applicationDirPath()
)。 在macOS上,前缀与应用程序包中的内容相关。 例如,application.app/Contents/plugins/
是加载Qt插件的默认位置。 请注意,插件需要放在plugins目录下的特定子目录中(有关详细信息,请参阅如何创建Qt插件)。
例如,qt.conf文件可能包含以下内容:
[Paths]
Prefix = /some/path
Translations = i18n
注意:反斜杠字符在INI文件中被视为特殊字符(请参阅QSettings)。 因此,建议在Windows上使用正斜杠。 否则,需要转义字符:
Prefix = c:\\SomePath
配置平台插件的参数
qt.conf
可能包含一个Platforms组,其键是以逗号分隔的参数列表,用于传递给平台插件。 密钥名称是平台插件的名称,首字母大写,后跟参数。
例如:
[Platforms]
WindowsArguments = fontengine=freetype
告诉Windows平台插件使用FreeType字体引擎。