QSGSimpleTextureNode 类

QSGSimpleTextureNode 类提供了方便的方式,以便通过 QML 场景图轻松绘制纹理内容。 更多...

头文件 #include <QSGSimpleTextureNode>
CMakefind_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmakeQT += quick
继承自 QSGGeometryNode

公共类型

枚举TextureCoordinatesTransformFlag { NoTransform, MirrorHorizontally, MirrorVertically }
标志TextureCoordinatesTransformMode

公共函数

QSGSimpleTextureNode()
virtual~QSGSimpleTextureNode() override
QSGTexture::Filteringfiltering() const
boolownsTexture() const
QRectFrect() const
voidsetFiltering(QSGTexture::Filtering filtering)
voidsetOwnsTexture(bool owns)
voidsetRect(const QRectF &r)
voidsetRect(qreal x, qreal y, qreal w, qreal h)
voidsetSourceRect(const QRectF &r)
voidsetSourceRect(qreal x, qreal y, qreal w, qreal h)
voidsetTexture(QSGTexture *texture)
voidsetTextureCoordinatesTransform(QSGSimpleTextureNode::TextureCoordinatesTransformMode mode)
QRectFsourceRect() const
QSGTexture *texture() const
QSGSimpleTextureNode::TextureCoordinatesTransformModetextureCoordinatesTransform() const

详细描述

警告:在添加到场景图进行渲染之前,简单纹理节点类必须具有纹理。

警告:此实用程序类仅在默认或软件后端运行时才有效。作为替代方案,建议使用通过 QQuickWindow::createImageNode 提供的 QSGImageNode。然而,当通过子类化和应用程序知道不会涉及特殊的场景图后端时,此独立类仍然很有用。

成员类型文档

枚举 QSGSimpleTextureNode::TextureCoordinatesTransformFlag
标志 QSGSimpleTextureNode::TextureCoordinatesTransformMode

使用 TextureCoordinatesTransformFlag 枚举指定用于生成纹理四边形的纹理坐标的模式。

常数描述
QSGSimpleTextureNode::NoTransform0x00纹理坐标和数据窗口坐标方向一致,即以左上角为原点。
QSGSimpleTextureNode::MirrorHorizontally0x01相对于数据窗口坐标,纹理坐标在水平轴上被反转。
QSGSimpleTextureNode::MirrorVertically0x02相对于数据窗口坐标,纹理坐标在垂直轴上被反转。

The TextureCoordinatesTransformMode 类型是 QFlags<TextureCoordinatesTransformFlag> 的typedef。它存储了一个 TextureCoordinatesTransformFlag 值的 OR 组合。

成员函数文档

QSGSimpleTextureNode::QSGSimpleTextureNode()

构建一个新的简单纹理节点

[覆盖虚拟无异常] QSGSimpleTextureNode::~QSGSimpleTextureNode()

销毁纹理节点

QSGTexture::Filtering QSGSimpleTextureNode::filtering() const

返回在此纹理节点上当前设置的过滤。

另请参阅setFiltering

bool QSGSimpleTextureNode::ownsTexture() const

如果节点拥有纹理,则返回 true;否则返回 false

另请参阅setOwnsTexture

QRectF QSGSimpleTextureNode::rect() const

返回此纹理节点的目标矩形。

另请参阅setRect

void QSGSimpleTextureNode::setFiltering(QSGTexture::Filtering filtering)

将此纹理节点的过滤设置为 filtering

为了平滑缩放,使用 QSGTexture::Linear;对于正常缩放,使用 QSGTexture::Nearest

另请参阅filtering

void QSGSimpleTextureNode::setOwnsTexture(bool owns)

设置节点是否拥有纹理 owns

默认情况下,节点不拥有纹理。

另请参阅ownsTexture() 和 setTexture

void QSGSimpleTextureNode::setRect(const QRectF &r)

将此纹理节点的目标矩形设置为 r

另请参阅rect

void QSGSimpleTextureNode::setRect(qreal x, qreal y, qreal w, qreal h)

这是一个重载函数。

将此纹理节点的矩形设置为从 (x, y) 开始,宽 w 和高 h

void QSGSimpleTextureNode::setSourceRect(const QRectF &r)

将此纹理节点的源矩形设置为 r

另请参阅sourceRect

void QSGSimpleTextureNode::setSourceRect(qreal x, qreal y, qreal w, qreal h)

这是一个重载函数。

设置此纹理节点显示纹理的矩形,从(xy)开始,宽度为w,高度为h,相对于QSGTexture::textureSize

void QSGSimpleTextureNode::setTexture(QSGTexture *texture)

设置此纹理节点的纹理为texture

使用setOwnsTexture()设置节点是否应该拥有纹理。默认情况下,节点不拥有纹理。

注意:要在场景图中渲染,纹理节点在添加到场景图之前必须有一个纹理。

另请参阅:texture

void QSGSimpleTextureNode::setTextureCoordinatesTransform(QSGSimpleTextureNode::TextureCoordinatesTransformMode mode)

将生成纹理坐标的方法设置为mode。这可以用来获得纹理的正确方向。在使用第三方OpenGL库将纹理渲染到OpenGL时,通常需要这样做,因为OpenGL的y轴相对于Qt Quick是相反的。

另请参阅:textureCoordinatesTransform

QRectF QSGSimpleTextureNode::sourceRect() const

返回此纹理节点的源矩形。

另请参阅:setSourceRect

QSGTexture *QSGSimpleTextureNode::texture() const

返回此纹理节点的纹理。

另请参阅:setTexture

QSGSimpleTextureNode::TextureCoordinatesTransformMode QSGSimpleTextureNode::textureCoordinatesTransform() const

返回用于为此节点生成纹理坐标的模式的值。

另请参阅:setTextureCoordinatesTransform

© 2024 Qt公司有限公司。本文件中的文档贡献是各自所有者的版权。提供的文档是在自由软件基金会发布的GNU自由文档许可协议版本1.3的条款下授予的。Qt及其相关徽标是芬兰及其它国家Qt公司的商标。所有其他商标均为各自所有者的财产。