C
ImageProvider 结构体
struct Qul::ImageProviderImageProvider 类为QML提供了支持图像请求的接口。更多信息...
头文件 | #include <qul/imageprovider.h> |
自 | 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() 注册的提供程序调用适当的图像提供程序。
注意:标识符以及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)
实现此方法以返回 uri 和 uriLength 对应的图像。
uri 是请求的图像源,已经去除了 "image://" 方案和提供程序标识符。例如,如果图像源是 "image://myprovider/icons/home",则给定的 uri 将会是 "icons/home"。
此函数可能会启动异步加载操作并返回一个未完成的图像。要实现这一点,请在返回之前调用 Image::beginWrite(),当加载完成后调用 Image::endWrite()。
注意: Image::endWrite() 不是线程安全的。请使用 EventQueue 发送事件并在事件处理程序中调用 endWrite()。
适用于某些 Qt 许可证。
了解更多信息。