C

ImageProvider 结构体

struct Qul::ImageProvider

ImageProvider 类为QML提供了支持图像请求的接口。更多信息...

头文件 #include <qul/imageprovider.h>
Qt Quick Ultralite 1.5

公共函数

virtual Qul::SharedImagerequestImage(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() 注册的提供程序调用适当的图像提供程序。

注意:标识符以及URL的其他部分都是区分大小写的,与 QQuickImageProvider 不同。例如,上面的片段指定了从名为 "myimageprovider" 的图像提供程序中加载图像,下面的片段使用名为 "MyImageProvider" 的图像提供程序。另外,下面的示例请求了两个不同的图像("Image.png" 和 "image.png")。

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

另请参阅 Qul::Application::addImageProvider.

成员函数文档

[纯虚函数] Qul::SharedImage ImageProvider::requestImage(const char *uri, size_t uriLength)

实现此方法以返回 uriuriLength 对应的图像。

uri 是请求的图像源,已经去除了 "image://" 方案和提供程序标识符。例如,如果图像源是 "image://myprovider/icons/home",则给定的 uri 将会是 "icons/home"。

此函数可能会启动异步加载操作并返回一个未完成的图像。要实现这一点,请在返回之前调用 Image::beginWrite(),当加载完成后调用 Image::endWrite()。

注意: Image::endWrite() 不是线程安全的。请使用 EventQueue 发送事件并在事件处理程序中调用 endWrite()。

适用于某些 Qt 许可证。
了解更多信息。