PySide6.QtQuick.QQuickTextureFactory

class QQuickTextureFactory

QQuickTextureFactory 类提供了一个从 QML 加载自定义纹理的接口。更多

PySide6.QtQuick.QQuickTextureFactory 的继承图

概要

方法

虚拟方法

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

纹理工厂的目的是为可以转换为OpenGL纹理的图像数据提供一个占位符。

直接创建纹理是不可能的,因为在负责加载图像数据的线程中很少有一个可用的OpenGL上下文。

__init__()

构造一个纹理工厂。由于 QQuickTextureFactory 是抽象的,因此不能直接实例化。

abstract createTexture(window)
Parameters:

窗口QQuickWindow

Return type:

QSGTexture

此函数在场景图渲染线程上调用,以从工厂创建一个QSGTexture实例。window提供了创建此纹理的上下文。

QML 将在内部根据需要缓存返回的纹理。每次调用此函数都应返回一个唯一的实例。

调用此函数时,用于渲染的OpenGL上下文将被绑定。

image()
Return type:

QImage

返回此纹理的图像版本。

返回图像的寿命未知,因此实现应返回一个自包含的QImage,而不是使用QImage(uchar *, …)构造函数。

此函数不常用,预计会很慢。

abstract textureByteCount()
Return type:

整数

返回纹理占用的内存字节数。

static textureFactoryForImage(image)
Parameters:

图像QImage

Return type:

QQuickTextureFactory

返回一个QQuickTextureFactory,其中包含给定的image

这通常用作textureFactory中的辅助工具。

abstract textureSize()
Return type:

QSize

返回纹理的大小。此函数将从任意线程调用,不应依赖于绑定的OpenGL上下文。