このページについて

C

qul_add_resource

警告: この CMake コマンドは 2.4 以降で非推奨となっています。代わりにImageFiles.filesを使用することを検討してください。

ターゲットに画像リソースを追加します。

概要

qul_add_resource(<target>
                 FILES file1 [file2...]
                 [PREFIX <path>]
                 [BASE <path>]
                 [OUTPUT_DIRECTORY <path>])

説明

リストされたファイルは、リソースURIを介してQMLファイルからアクセス可能なリソースとなります。現在、画像リソースのみがサポートされています。

リソースには、CMakeソースファイルのプロパティを設定できます。これらのプロパティは、qul_add_resource が呼び出される前に設定する必要があります。プロパティの一覧については、CMakeリファレンスを参照してください。

内部的には、リソースの記述が収集され、JSONファイルとしてqulrccツール(Resource Compiler)に渡されます。qulrcc tool は、これらに対応するC++ファイルと、リソース名とシンボル名を対応付けるJSONファイルを生成します。 C++ ファイルはターゲットにコンパイルされ、出力された JSON ファイルはqmltocppによってリソース名の検索に使用され、生成されたコードにシンボル参照が出力されます。

注: qul_add_resource 、qul_add_targetと同じディレクトリスコープ内で使用する必要があります。

オプション

FILES 引数には、現在のソースディレクトリを基準とした、スペース区切りのファイルパスのリストを指定します。

OUTPUT_DIRECTORY オプションを設定することで、生成されたファイルの保存先を制御できます。パスが相対パスの場合、現在のビルドディレクトリを基準とします。

オプションの `PREFIX ` パスは、ファイルが配置されるリソース URI にプレフィックスを追加します。たとえば、`PREFIX ` が「images」で、`FILES ` の 1 つが「map/small.png」の場合、リソースファイルシステム上のパスは「qrc:/images/map/small.png」になります。 デフォルトのプレフィックスは「/」です。

オプションのBASE パスは、計算されたリソースURIのアンカーを決定します。たとえば、BASE が「data」で、FILES のいずれかが「data/images/foo.png」の場合、リソースファイルシステム上のパスは「qrc:/images/foo.png」になります。デフォルトのベースは現在のソースディレクトリです。

CMake ソースファイルのプロパティ

注: これらの プロパティは、set_source_files_properties というCMake関数を使用して個々のリソースに対して設定されます。すべてのリソースにデフォルトで適用される値を設定するには、PREFIX_DEFAULT_<property> を使用します。ここで、PREFIXはQUL またはQUL_PLATFORM のいずれかです。qul_add_resource を呼び出す前に、ソースファイルのプロパティを設定する必要があります。

例:

# Store all images in compressed format by default, except for button.png
set(QUL_DEFAULT_RESOURCE_COMPRESSION ON)
set_source_files_properties(button.png PROPERTIES QUL_RESOURCE_COMPRESSION OFF)
qul_add_resource(...)

# Used in QML as "qrc:/button.png" and "qrc:/nav/arrow.png",
# or simply as "button.png" and "nav/arrow.png".
qul_add_resource(example_app FILES button.png nav/arrow.png)
set_source_files_properties(big/button.png PROPERTIES
    QUL_RESOURCE_COMPRESSION ON
    QUL_RESOURCE_OPTIMIZE_FOR_SCALE ON)

# The resource path becomes "qrc:/images/button.png"
qul_add_resource(example_app
    FILES big/button.png
    BASE big
    PREFIX images)
# Setting an image to be cached on demand with a custom memory allocator
set_source_files_properties(
    big/button.png PROPERTIES
    QUL_RESOURCE_CACHE_POLICY "OnDemand"
    QUL_RESOURCE_STORAGE_SECTION "CustomSegment"
    QUL_RESOURCE_RUNTIME_ALLOCATION_TYPE "128"
)

リソースの管理」および「QUL_RESOURCE_IMAGE_PIXEL_FORMATも参照してください

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。