Qt Quick 提供的 C++ 扩展点¶
Qt Quick 模块提供的 C++ 扩展点描述
所有QML应用程序都可以从C++扩展,以便使用C++代码中实现的附加功能或提供基于C++的QML插件。这个从C++扩展QML的主题在《使用C++编写QML扩展》文档中有详细介绍。
此外,Qt Quick模块为C++开发者提供了几个特定于该模块的扩展和集成点。特别是,它允许C++开发者创建和注册自定义的QQuickItem
派生类型,这些类型可以由Qt Quick渲染。它还提供了几个与场景图相关的类,允许开发者定义自己的渲染原语。
用户定义的QQuickItem派生类型¶
虽然Qt Quick模块已经提供了一个丰富的视觉项类型库供QML应用程序使用,但一些开发者可能希望在C++中定义自己的项派生类型,并将它们暴露给QML类型系统。最简单的方法是子类化QQuickItem
,这是Qt Quick模块中所有视觉类型的基类型。有关更多详细信息,请参阅QQuickItem
文档。
Pixmap 和线程图像支持¶
虽然QML引擎允许QML应用程序从文件系统或网络资源加载图像,但某些应用程序可能需要从基于C++的进程中加载图像的额外选项。这可以通过QQuickImageProvider
类实现,该类为QML应用程序提供了像素图加载和线程化图像请求的支持。任何通过特殊的“image:” URL方案请求图像的QML应用程序都将被引导到适当的图像提供者以加载图像。
欲了解更多信息,请参阅QQuickImageProvider
文档。