このページでは

C

Qul::ImageProvider Struct

struct Qul::ImageProvider

ImageProvider クラスは、QML における画像リクエストをサポートするためのインターフェースを提供します。詳細...

Header: #include <qul/imageprovider.h>
Since: Qt Quick Ultralite 1.5

パブリック関数

virtual Qul::SharedImage requestImage(const char *uri, size_t uriLength) = 0

詳細な説明

ImageProvider は、QML アプリケーションで高度な画像読み込み機能を提供するために使用されます。

イメージプロバイダを使用して画像を読み込むには、画像の URL で「image:」スキームを使用し、その後にイメージプロバイダの識別子と要求する画像の識別子を続けます。例:

Image { source: "image://myimageprovider/image.png" }

これは、画像が「myimageprovider」という名前のイメージプロバイダによって読み込まれる必要があり、読み込む画像の名前が「image.png」であることを指定しています。Qt Quick Ultralite は、Qul::Application::addImageProvider() を通じて登録されたプロバイダに基づいて、適切なイメージプロバイダを呼び出します。

注: QQuickImageProviderとは異なり、識別子 およびURLの残りの部分は大 文字と小文字が区別されます。例えば、上記のコードスニペットは「myimageprovider」という名前の画像プロバイダから画像を読み込むことを指定していますが、以下のコードスニペットでは「MyImageProvider」という名前の画像プロバイダを使用しています。 さらに、以下の例では 2 つの異なる画像(「Image.png」と「image.png」)をリクエストしています。

Image { source: "image://MyImageProvider/image.png" }
Image { source: "image://MyImageProvider/Image.png" }

Qul::Application::addImageProviderも参照してください

メンバ関数のドキュメント

[pure virtual] Qul::SharedImage ImageProvider::requestImage(const char *uri, size_t uriLength)

このメソッドを実装して、uri およびuriLength に対応する画像を返してください。

uri は、リクエストされた画像ソースから「image://」スキーマとプロバイダ識別子が削除されたものです。たとえば、画像ソースが「image://myprovider/icons/home」の場合、指定される URI は「icons/home」となります。

この関数は非同期の読み込み操作を開始し、未完成の画像を返す場合があります。その場合は、戻り値を返す前に `Image::beginWrite()` を呼び出し、読み込みが完了したら `Image::endWrite()` を呼び出してください。

注: Image::endWrite() はスレッドセーフではありません。EventQueue を使用してイベントを送信し、イベントハンドラ内で endWrite() を呼び出してください。

特定の Qt ライセンスの下で利用可能です。
詳細はこちら。