Использование 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/qt-6.0/qt-conf.html