Spec-Zone.ru › Qt

qt_add_resources

Компилирует двоичные ресурсы в исходный код.

Команда определена в компоненте Core пакета Qt6. Загрузите пакет с помощью:

find_package(Qt6 COMPONENTS Core REQUIRED)

Краткое описание

qt_add_resources(<VAR> file1.qrc [file2.qrc ...]
                  [OPTIONS ...])

Если команды без версии отключены, используйте qt6_add_resources() вместо. Она поддерживает тот же набор аргументов, что и данная команда.

С версии 6.0:

qt_add_resources(<TARGET> <RESOURCE_NAME>
                  [PREFIX <PATH>]
                  [LANG <LANGUAGE>]
                  [BASE <PATH>]
                  [FILES ...] [OPTIONS ...])

Если команды без версии отключены, используйте qt6_add_resources() вместо. Она поддерживает тот же набор аргументов, что и данная команда.

Описание

Для добавления ресурсов вы можете передать имя переменной или целевой объект в качестве первого аргумента команды.

При передаче имени переменной в качестве первого аргумента, qt_add_resources создает исходный код из файлов ресурсов Qt с помощью компилятора ресурсов (rcc). Пути к сгенерированным исходным файлам добавляются в <VAR>.

При передаче целевого объекта в качестве первого аргумента, функция создаёт ресурс с именем RESOURCE_NAME, содержащий указанные FILES. Ресурс автоматически подключается к TARGET.

Для встраивания больших ресурсов см. qt_add_big_resources.

См. Систему ресурсов Qt для общего описания ресурсов Qt.

Аргументы варианта, основанного на целевом объекте

PREFIX указывает префикс пути, под которым все файлы данного ресурса доступны из кода C++. Это соответствует атрибуту XML prefix в формате файла .qrc. Если PREFIX не указан, используется свойство целевого объекта QT_RESOURCE_PREFIX.

LANG указывает язык данного ресурса. Это соответствует атрибуту XML lang в формате файла .qrc.

BASE - это префикс пути, обозначающий корневую точку псевдонима файла. Например, если BASE равно "assets", а FILES равно "assets/images/logo.png", то псевдоним этого файла "images/logo.png".

Настройки псевдонимов для файлов необходимо задать через свойство файла источника QT_RESOURCE_ALIAS.

Аргументы обоих вариантов

Вы можете установить дополнительные OPTIONS, которые должны быть добавлены к вызовам rcc. Возможные варианты можно найти в документации rcc.

Примеры

Вариант с переменной, используя файл .qrc:

set(SOURCES main.cpp)
qt_add_resources(SOURCES example.qrc)
add_executable(myapp ${SOURCES})

Вариант с целевым объектом, используя непосредственные ресурсы:

add_executable(myapp main.cpp)
qt_add_resources(myapp "images"
    PREFIX "/images"
    FILES image1.png image2.png)

Особенности

При добавлении нескольких ресурсов, RESOURCE_NAME должно быть уникальным для всех ресурсов, связанных с целевым объектом.

Это особенно важно для статических сборок. В этом случае одно и то же имя ресурса в разных статических библиотеках вызывает конфликт в целевом объекте, который их использует.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt-add-resources.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API