Использование qt.conf
Вы можете использовать файл qt.conf для переопределения путей или для указания аргументов, которые должны быть переданы плагинам платформы.
Формат и расположение
Файл qt.conf представляет собой текстовый файл в формате INI, как описано в документации QSettings.
QLibraryInfo загрузит qt.conf из одного из следующих расположений:
-
:/qt/etc/qt.confс использованием системы ресурсов - в macOS, в каталоге Resources внутри пакета приложения, например
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.11/qt-conf.html