PySide6.QtGraphs.QSurfaceDataProxy

class QSurfaceDataProxy

QSurfaceDataProxy 类是3D表面图的数据代理。更多

PySide6.QtGraphs.QSurfaceDataProxy 的继承图

继承者: QItemModelSurfaceDataProxy, QHeightMapSurfaceDataProxy

概要

属性

方法

信号

注意

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

详细描述

表面数据代理处理与表面相关的行数据。为此,它提供了两个辅助类型别名:QtGraphs::QSurfaceDataArray 和 QtGraphs::QSurfaceDataRow。QSurfaceDataArray 是一个控制行的 QList。QSurfaceDataRow 是一个包含 QSurfaceDataItem 对象的 QList。有关如何将数据提供给代理的更多信息,请参阅 Q3DSurfaceWidgetItem 文档中的示例代码。由于数据是按系列存储的,因此在使用这些函数处理数据集之前,需要创建一个与代理关联的系列。

所有行必须具有相同数量的项目。

QSurfaceDataProxy 拥有所有传递给它的 QSurfaceDataRow 对象的所有权,无论是直接传递还是通过 QSurfaceDataArray 容器传递。要在将数组添加到代理后使用表面数据行指针直接修改数据,必须发出适当的信号以更新图表。

为了生成一个合理的表面,所有行中每个连续项的x值必须在该行中递增或递减。同样,所有列中每个连续项的z值必须在该列中递增或递减。

注意

目前仅完全支持具有直线行和列的表面。如果整个表面不完全适合可见的x轴或z轴范围,则任何行中具有不完全相同z值的项目或任何列中具有不完全相同x值的项目可能会被错误地裁剪。

注意

少于两行或两列的表面不被视为有效表面,将不会被渲染。

注意

在某些环境中,具有大量可见顶点的表面可能无法渲染,因为它们超出了图形驱动程序支持的每次绘制顶点数。这主要是在32位和OpenGL ES2平台上的问题。

另请参阅

使用3D处理Qt图形数据

注意

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

property columnCountᅟ: int

此属性保存数据数组中的列数。

Access functions:
property rowCountᅟ: int

此属性保存数据数组中的行数。

Access functions:
property seriesᅟ: QSurface3DSeries

此属性保存此代理附加到的系列。

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

父对象QObject

使用给定的 parent 构造 QSurfaceDataProxy

addRow(row)
Parameters:

row – QSurfaceDataItem 的列表

Return type:

整数

将新行 row 添加到数组的末尾。新行必须与初始数组中的行具有相同的列数。

返回添加行的索引。

addRows(rows)
Parameters:

rows – QSurfaceDataItem 的列表的列表

Return type:

整数

将新的添加到数组的末尾。新行必须与初始数组中的行具有相同的列数。

返回第一个添加行的索引。

arrayReset()

当数据数组被重置时,会发出此信号。如果整个数组的内容在没有调用resetArray()的情况下被更改,则需要发出此信号以更新图表。

columnCount()
Return type:

整数

属性 columnCountᅟ 的获取器。

columnCountChanged(count)
Parameters:

count – int

属性 columnCountᅟ 的通知信号。

insertRow(rowIndex, row)
Parameters:
  • rowIndex – int

  • row – QSurfaceDataItem 的列表

将新行 row 插入到 rowIndex 中。如果 rowIndex 等于数组大小,则行将添加到数组的末尾。新行必须与初始数组中的行具有相同的列数。

insertRows(rowIndex, rows)
Parameters:
  • rowIndex – int

  • rows – QSurfaceDataItem 的列表的列表

将新的rows插入到rowIndex中。如果rowIndex等于数组大小,则行将添加到数组的末尾。新的rows必须具有与初始数组中的行相同的列数。

itemAt(position)
Parameters:

位置QPoint

Return type:

QSurfaceDataItem

返回指向位置position处项目的指针。position的x值表示行,y值表示列。该项目仅在下次修改数据的调用之前保证有效。

itemAt(rowIndex, columnIndex)
Parameters:
  • rowIndex – int

  • columnIndex – int

Return type:

QSurfaceDataItem

返回指向由rowIndexcolumnIndex指定的位置处的项目的指针。保证仅在下次修改数据的调用之前有效。

itemChanged(rowIndex, columnIndex)
Parameters:
  • rowIndex – int

  • columnIndex – int

当位于rowIndexcolumnIndex指定的位置的项目发生变化时,会发出此信号。如果项目在数组中被更改而没有调用setItem(),则需要发出此信号以更新图表。

removeRows(rowIndex, removeCount)
Parameters:
  • rowIndex – int

  • removeCount – int

从位置 rowIndex 开始,移除由 removeCount 指定的行数。尝试移除超出数组末尾的行不会产生任何效果。

resetArray()

清除现有数组并触发arrayReset()信号。

resetArray(newArray)
Parameters:

newArray – QSurfaceDataItem 的列表的列表

* 从 newArray 设置数组。如果新数组与现有数组相同,此函数仅触发 arrayReset() 信号。

resetArrayNp(x, deltaX, z, deltaZ, data)
Parameters:
  • x – 浮点数

  • deltaX – 浮点数

  • z – 浮点数

  • deltaZ – 浮点数

  • dataPyArrayObject

从一个包含y值的二维numpy数组中填充数据,该数组的范围从x开始,z开始,步长分别为deltaXdeltaZ

rowCount()
Return type:

整数

属性 rowCountᅟ 的获取器。

rowCountChanged(count)
Parameters:

count – int

属性 rowCountᅟ 的通知信号。

rowsAdded(startIndex, count)
Parameters:
  • startIndex – int

  • count – int

当从位置 startIndex 开始添加由 count 指定的行数时,会发出此信号。如果行被添加到数组中而没有调用 addRow()addRows(),则需要发出此信号以更新图表。

rowsChanged(startIndex, count)
Parameters:
  • startIndex – int

  • count – int

当从位置startIndex开始,由count指定的行数发生变化时,会发出此信号。如果在没有调用setRow()setRows()的情况下更改了数组中的行,则需要发出此信号以更新图表。

rowsInserted(startIndex, count)
Parameters:
  • startIndex – int

  • count – int

当在位置 startIndex 插入由 count 指定的行数时,会发出此信号。

如果行被插入到数组中没有调用insertRow()insertRows(),则需要发出此信号以更新图表。

rowsRemoved(startIndex, count)
Parameters:
  • startIndex – int

  • count – int

当从位置 startIndex 开始移除由 count 指定的行数时,会发出此信号。

如果从数组的末尾移除了行,则索引是当前数组的大小。如果从数组中移除了行而没有调用removeRows(),则需要发出此信号以更新图表。

series()
Return type:

QSurface3DSeries

属性 seriesᅟ 的获取器。

seriesChanged(series)
Parameters:

seriesQSurface3DSeries

属性 seriesᅟ 的通知信号。

setItem(position, item)
Parameters:

将位置 position 处的单个项目更改为项目 itemposition 的 x 值表示行,y 值表示列。

setItem(rowIndex, columnIndex, item)
Parameters:

将位于rowIndexcolumnIndex指定的位置的单个项目更改为项目item

setRow(rowIndex, row)
Parameters:
  • rowIndex – int

  • row – QSurfaceDataItem 的列表

通过用row指定的新行替换rowIndex位置的行来更改现有行。新行可以与已存储在rowIndex位置的现有行相同。新行必须具有与它替换的行相同的列数。

setRows(rowIndex, rows)
Parameters:
  • rowIndex – int

  • rows – QSurfaceDataItem 的列表的列表

通过用rows指定的新行替换从rowIndex位置开始的行来更改现有行。rows数组中的行可以与已经存储在rowIndex处的现有行相同。新行必须具有与它们替换的行相同的列数。