QQuickImageResponse Class

The QQuickImageResponse class provides an interface for asynchronous image loading in QQuickAsyncImageProvider. More...

Header: #include <QQuickImageResponse>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
Inherits: QObject

Public Functions

QQuickImageResponse()
virtual ~QQuickImageResponse() override
virtual QString errorString() const
virtual QQuickTextureFactory *textureFactory() const = 0

Public Slots

virtual void cancel()

Signals

void finished()

Detailed Description

The purpose of an image response is to provide a way for image provider jobs to be executed in an asynchronous way.

Responses are deleted via deleteLater once the finished() signal has been emitted. If you are using QRunnable as base for your QQuickImageResponse ensure automatic deletion is disabled.

See the Image Response Provider Example for a complete implementation.

See also QQuickImageProvider.

Member Function Documentation

QQuickImageResponse::QQuickImageResponse()

Constructs the image response

[override virtual noexcept] QQuickImageResponse::~QQuickImageResponse()

Destructs the image response

[virtual slot] void QQuickImageResponse::cancel()

This method is used to communicate that the response is no longer required by the engine.

It may be reimplemented to cancel a request in the provider side, however, it is not mandatory.

A cancelled QQuickImageResponse still needs to emit finished() so that the engine may clean up the QQuickImageResponse.

Note: finished() should not be emitted until the response is complete, regardless of whether or not cancel() was called. If it is called prematurely, the engine may destroy the response while it is still active, leading to a crash.

[virtual] QString QQuickImageResponse::errorString() const

Returns the error string for the job execution. An empty string means no error.

[signal] void QQuickImageResponse::finished()

Signals that the job execution has finished (be it successfully, because an error happened or because it was cancelled).

Note: Emission of this signal must be the final action the response performs: once the signal is received, the response will subsequently be destroyed by the engine.

[pure virtual] QQuickTextureFactory *QQuickImageResponse::textureFactory() const

Returns the texture factory for the job. You can use QQuickTextureFactory::textureFactoryForImage if your provider works with QImage. The engine takes ownership of the returned QQuickTextureFactory.

Note: This method will be called only when needed. For example, it may not be called if there is an error or the job is cancelled. Therefore, allocate the QQuickTextureFactory instance only in this method or otherwise ensure its deletion.