Использование 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.
Как работать с параллельными установками более старых версий 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.2/qt-conf.html