PySide6.Qt3DRender.Qt3DRender.QPaintedTextureImage

class QPaintedTextureImage

一个可以通过QPainter写入的QAbstractTextureImage更多

PySide6.Qt3DRender.Qt3DRender.QPaintedTextureImage 的继承图

概要

属性

方法

虚拟方法

插槽

信号

注意

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

详细描述

一个QPaintedTextureImage提供了一种通过QPainter指定纹理图像(从而指定OpenGL纹理)的方式。纹理图像的宽度和高度可以通过宽度和高度或大小属性来指定。

一个QPaintedTextureImage必须被子类化,并且实现虚拟的paint()函数。每次在QPaintedTextureImage上调用update()时,都会调用paint()函数,并上传生成的图像。

QPaintedTextureImage 必须附加到某个 QAbstractTexture 上。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property heightᅟ: int

此属性保存纹理图像的高度。高度必须大于或等于1。

Access functions:
property sizeᅟ: QSize

此属性保存纹理图像的大小。

另请参阅

height width

Access functions:
property widthᅟ: int

此属性保存纹理图像的宽度。宽度必须大于或等于1。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

height()
Return type:

整数

另请参阅

setHeight()

属性 heightᅟ 的获取器。

heightChanged(w)
Parameters:

w – 整数

属性 heightᅟ 的通知信号。

abstract paint(painter)
Parameters:

画家QPainter

使用指定的QPainter对象painter绘制纹理图像。

QPainter 将图像的左上角视为其原点,而 OpenGL 将纹理的左下角视为其原点。解决这种差异的一个简单方法是在进行任何其他绘制之前,在 painter 上设置一个自定义视口:

painter->setViewport(0, height(), width(), -height());
...
setHeight(h)
Parameters:

h – 整数

设置纹理图像的高度(h)。如果大小发生变化,则触发更新。

另请参阅

height()

属性 heightᅟ 的设置器。

setSize(size)
Parameters:

大小QSize

设置纹理图像的宽度和高度。如果size发生变化,则会触发更新。

另请参阅

size()

属性 sizeᅟ 的设置器。

setWidth(w)
Parameters:

w – 整数

设置纹理图像的宽度(w)。如果大小发生变化,则触发更新。

另请参阅

width()

属性 widthᅟ 的设置器。

size()
Return type:

QSize

另请参阅

setSize()

属性 sizeᅟ 的获取器。

sizeChanged(size)
Parameters:

大小QSize

属性 sizeᅟ 的通知信号。

update([rect=QRect()])
Parameters:

rectQRect

立即触发绘制纹理的paint()函数,该函数会将新图像上传到GPU。如果你对绘制纹理进行多次更改,建议等到所有更改完成后再调用更新,以尽量减少所需的重新绘制次数。

参数 rect 当前未使用。

width()
Return type:

整数

另请参阅

setWidth()

属性 widthᅟ 的获取器。

widthChanged(w)
Parameters:

w – 整数

属性 widthᅟ 的通知信号。