Использование qt.conf
Вы можете использовать файл 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.
| Запись | Значение по умолчанию |
|---|---|
| Префикс | QCoreApplication::applicationDirPath() |
| Документация | doc |
| Заголовки | include |
| Библиотеки | lib |
| Исполняемые файлы библиотек | libexec |
| Бинарные файлы | bin |
| Плагины | plugins |
| Импорты | imports |
| Qml2Импорты | qml |
| ArchData | . |
| Данные | . |
| Переводы | translations |
| Примеры | examples |
| Тесты | tests |
| Настройки | . |
Абсолютные пути используются, как указано в файле qt.conf. Все пути относительны к Prefix. В Windows и X11 Prefix относительны к каталогу, содержащему исполняемый файл приложения (QCoreApplication::applicationDirPath()). В macOS Prefix относительны к Contents в пакете приложения. Например, application.app/Contents/plugins/ — это стандартное место для загрузки плагинов Qt. Обратите внимание, что плагины должны быть размещены в определённых подкаталогах каталога plugins (подробнее см. Как создать плагины Qt).
Например, файл qt.conf может содержать следующее:
[Paths] Prefix = /some/path Translations = i18n
Примечание: символ обратной косой черты обрабатывается как специальный символ в файлах INI (см. QSettings). Поэтому рекомендуется использовать прямые косые черты для путей в Windows. В противном случае требуется символ экранирования:
Prefix = c:\\SomePath
Настройка аргументов для плагинов платформы
Файл qt.conf может содержать раздел Platforms, ключи которого — это разделителями запятыми списки аргументов, которые будут переданы плагину платформы. Имя ключа — это имя плагина платформы с большой буквы, за которым следует Arguments.
Например:
[Platforms] WindowsArguments = fontengine=freetype
приведёт к тому, что плагин платформы Windows будет использовать движок шрифтов FreeType.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qt-conf.html