Использование 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
приведет к использованию движка шрифтов FreeType плагином платформы Windows.
Как работать с параллельными установками более ранних версий Qt
Для сред, которым требуется установка более ранней основной версии Qt, можно использовать qt.conf, специфичный для версии. Это часто необходимо на переходных этапах от одной версии Qt к другой или для предотвращения конфликтов, вызванных существующим файлом без версии.
Для этой цели вместо файла qt.conf можно использовать файл с именем qt6.conf. Если оба файла существуют в указанном каталоге, используется qt6.conf.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qt-conf.html