QAbstract3DGraph 类

QAbstract3DGraph 类提供图形的窗口和渲染循环。 更多...

头文件 #include <QAbstract3DGraph>
CMakefind_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmakeQT += graphs
继承自 QQuickWidget
继承

Q3DBarsQ3DScatterQ3DSurface

状态技术预览

公共类型

枚举类CameraPreset { NoPreset, FrontLow, Front, FrontHigh, LeftLow, …, DirectlyBelow }
枚举类ElementType { None, Series, AxisXLabel, AxisYLabel, AxisZLabel, CustomItem }
枚举类OptimizationHint { Default, Legacy }
枚举SelectionFlag { SelectionNone, SelectionItem, SelectionRow, SelectionItemAndRow, SelectionColumn, …, SelectionMultiSeries }
标志SelectionFlags
枚举类ShadowQuality { None, Low, Medium, High, SoftLow, …, SoftHigh }

属性

公共函数

虚拟~QAbstract3DGraph() override
QAbstract3DInputHandler *activeInputHandler() const
Q3DTheme *activeTheme() const
intaddCustomItem(QCustom3DItem *item)
voidaddInputHandler(QAbstract3DInputHandler *inputHandler)
voidaddTheme(Q3DTheme *theme)
qrealaspectRatio() const
QAbstract3DGraph::CameraPresetcameraPreset() const
QVector3DcameraTargetPosition()
floatcameraXRotation()
floatcameraYRotation()
floatcameraZoomLevel()
voidclearSelection()
intcurrentFps() const
QListcustomItems() const
boolhasSeries(QAbstract3DSeries *series) const
qrealhorizontalAspectRatio() const
QListinputHandlers() const
boolisOrthoProjection() const
boolisPolar() const
QLocalelocale() const
qrealmargin() const
floatmaxCameraZoomLevel()
boolmeasureFps() const
floatminCameraZoomLevel()
intmsaaSamples() const
QAbstract3DGraph::OptimizationHintoptimizationHint() const
QVector3DqueriedGraphPosition() const
floatradialLabelOffset() const
voidreleaseCustomItem(QCustom3DItem *item)
voidreleaseInputHandler(QAbstract3DInputHandler *inputHandler)
voidreleaseTheme(Q3DTheme *theme)
voidremoveCustomItem(QCustom3DItem *item)
voidremoveCustomItemAt(const QVector3D &position)
voidremoveCustomItems()
QSharedPointer<QQuickItemGrabResult>renderToImage(const QSize &imageSize = QSize())
Q3DScene *scene() const
QAbstract3DAxis *selectedAxis() const
QCustom3DItem *selectedCustomItem() const
intselectedCustomItemIndex() const
QAbstract3DGraph::ElementTypeselectedElement() const
intselectedLabelIndex() const
QAbstract3DGraph::SelectionFlagsselectionMode() const
voidsetActiveInputHandler(QAbstract3DInputHandler *inputHandler)
voidsetActiveTheme(Q3DTheme *activeTheme)
voidsetAspectRatio(qreal ratio)
voidsetCameraPosition(float horizontal, float vertical, float zoom = 100.0f)
voidsetCameraPreset(QAbstract3DGraph::CameraPreset preset)
voidsetCameraTargetPosition(const QVector3D &target)
voidsetCameraXRotation(float rotation)
voidsetCameraYRotation(float rotation)
voidsetCameraZoomLevel(float level)
voidsetHorizontalAspectRatio(qreal ratio)
voidsetLocale(const QLocale &locale)
voidsetMargin(qreal margin)
voidsetMaxCameraZoomLevel(float level)
voidsetMeasureFps(bool enable)
voidsetMinCameraZoomLevel(float level)
voidsetMsaaSamples(int samples)
voidsetOptimizationHint(QAbstract3DGraph::OptimizationHint hint)
voidsetOrthoProjection(bool enable)
voidsetPolar(bool enable)
voidsetRadialLabelOffset(float offset)
voidsetSelectionMode(const QAbstract3DGraph::SelectionFlags &selectionMode)
voidsetShadowQuality(const QAbstract3DGraph::ShadowQuality &shadowQuality)
voidsetWrapCameraXRotation(bool wrap)
voidsetWrapCameraYRotation(bool wrap)
QAbstract3DGraph::ShadowQualityshadowQuality() const
QList<Q3DTheme *>themes() const
boolwrapCameraXRotation()
boolwrapCameraYRotation()

信号

voidactiveInputHandlerChanged(QAbstract3DInputHandler *inputHandler)
voidactiveThemeChanged(Q3DTheme *activeTheme)
voidaspectRatioChanged(qreal ratio)
voidcameraPresetChanged(QAbstract3DGraph::CameraPreset preset)
voidcameraTargetPositionChanged(const QVector3D &target)
voidcameraXRotationChanged(float rotation)
voidcameraYRotationChanged(float rotation)
voidcameraZoomLevelChanged(float zoomLevel)
voidcurrentFpsChanged(int fps)
voidhorizontalAspectRatioChanged(qreal ratio)
voidlocaleChanged(const QLocale &locale)
voidmarginChanged(qreal margin)
voidmaxCameraZoomLevelChanged(float zoomLevel)
voidmeasureFpsChanged(bool enabled)
voidminCameraZoomLevelChanged(float zoomLevel)
voidmsaaSamplesChanged(int samples)
voidoptimizationHintChanged(QAbstract3DGraph::OptimizationHint hint)
voidorthoProjectionChanged(bool enabled)
voidpolarChanged(bool enabled)
voidqueriedGraphPositionChanged(const QVector3D &data)
voidradialLabelOffsetChanged(float offset)
voidselectedElementChanged(QAbstract3DGraph::ElementType type)
voidselectionModeChanged(const QAbstract3DGraph::SelectionFlags selectionMode)
voidshadowQualityChanged(QAbstract3DGraph::ShadowQuality quality)
voidwrapCameraXRotationChanged(bool wrap)
voidwrapCameraYRotationChanged(bool wrap)
QSurfaceFormatqDefaultSurfaceFormat(bool antialias)

详细描述

此类继承自 QWindow 并为继承它的图表提供渲染循环。

您通常不需要直接使用此类,而是使用其子类。

默认情况下,在 C++ 中启用抗锯齿,但在 OpenGL ES2 环境中,Qt 图表不支持抗锯齿。如果要对图表指定非默认的抗锯齿,请在构造函数中给出自定义的表面格式。您可以使用方便的函数 qDefaultSurfaceFormat() 来创建表面格式对象。

注意:QAbstract3DGraph 在默认情况下将窗口标志 Qt::FramelessWindowHint 设置为开启。如果要将图表窗口作为带有常规窗口框架的独立窗口显示,请在构建图表后清除此标志。例如

Q3DBars *graphWindow = new Q3DBars;
graphWindow->setFlags(graphWindow->flags() ^ Qt::FramelessWindowHint);

另请参阅:Q3DBarsQ3DScatterQ3DSurfaceQt 图表的 C++ 类 3D

成员类型文档

枚举 class QAbstract3DGraph::CameraPreset

相机预设位置。

常量描述
QAbstract3DGraph::CameraPreset::NoPreset0表示未设置预设或场景已自由旋转。
QAbstract3DGraph::CameraPreset::FrontLow1 
QAbstract3DGraph::CameraPreset::Front2 
QAbstract3DGraph::CameraPreset::FrontHigh3 
QAbstract3DGraph::CameraPreset::LeftLow4 
QAbstract3DGraph::CameraPreset::Left5 
QAbstract3DGraph::CameraPreset::LeftHigh6 
QAbstract3DGraph::CameraPreset::RightLow7 
QAbstract3DGraph::CameraPreset::Right8 
QAbstract3DGraph::CameraPreset::RightHigh9 
QAbstract3DGraph::CameraPreset::BehindLow10 
QAbstract3DGraph::CameraPreset::Behind11 
QAbstract3DGraph::CameraPreset::BehindHigh12 
QAbstract3DGraph::CameraPreset::IsometricLeft13 
QAbstract3DGraph::CameraPreset::IsometricLeftHigh14 
QAbstract3DGraph::CameraPreset::IsometricRight15 
QAbstract3DGraph::CameraPreset::IsometricRightHigh16 
QAbstract3DGraph::CameraPreset::DirectlyAbove17 
QAbstract3DGraph::CameraPreset::DirectlyAboveCW4518 
QAbstract3DGraph::CameraPreset::DirectlyAboveCCW4519 
QAbstract3DGraph::CameraPreset::FrontBelow20Q3DBars 的 FrontBelow 开始,这些仅适用于包括负值的图表。对于仅正值的值,它们的作用类似于 Preset...Low。
QAbstract3DGraph::CameraPreset::LeftBelow21 
QAbstract3DGraph::CameraPreset::RightBelow22 
QAbstract3DGraph::CameraPreset::BehindBelow23 
QAbstract3DGraph::CameraPreset::DirectlyBelow24对于仅正值的条形图,作为 FrontLow。

枚举 class QAbstract3DGraph::ElementType

图表中元素的类型。

常量描述
QAbstract3DGraph::ElementType::None0未定义元素。
QAbstract3DGraph::ElementType::Series1系列中的一个项。
QAbstract3DGraph::ElementType::AxisXLabel2x轴标签。
QAbstract3DGraph::ElementType::AxisYLabel3y轴标签。
QAbstract3DGraph::ElementType::AxisZLabel4z轴标签。
QAbstract3DGraph::ElementType::CustomItem5自定义项。

枚举 class QAbstract3DGraph::OptimizationHint

渲染的优化提示。

常量描述
QAbstract3DGraph::OptimizationHint::Default0提供完整的功能集,实例化性能良好。
QAbstract3DGraph::OptimizationHint::Legacy1提供完整的功能集,性能合理。如果 OptimizationHint.Default 的性能不佳或不可用,请使用。

枚举 QAbstract3DGraph::SelectionFlag
标志 QAbstract3DGraph::SelectionFlags

项目选择模式。枚举值的组合可以使用 OR 运算符。

常量描述
QAbstract3DGraph::SelectionNone0选择模式已禁用。
QAbstract3DGraph::SelectionItem1选择突出显示单个项目。
QAbstract3DGraph::SelectionRow2选择突出显示单个行。
QAbstract3DGraph::SelectionItemAndRowSelectionItem | SelectionRow用于使用不同颜色突出显示项目和行的组合标志。
QAbstract3DGraph::SelectionColumn4选择突出显示单个列。
QAbstract3DGraph::SelectionItemAndColumnSelectionItem | SelectionColumn用于使用不同颜色突出显示项目和列的组合标志。
QAbstract3DGraph::SelectionRowAndColumnSelectionRow | SelectionColumn用于突出显示行和列的组合标志。
QAbstract3DGraph::SelectionItemRowAndColumnSelectionItem | SelectionRow | SelectionColumn用于突出显示项目、行和列的组合标志。
QAbstract3DGraph::SelectionSlice8设置此模式标志表示图表应自动处理切片视图处理。如果您希望通过 Q3DScene(不翻译) 自己控制切片视图,则不要设置此标志。在设置此模式标志时,必须同时设置 SelectionRowSelectionColumn,但不能同时设置两者。切片由 Q3DBarsQ3DSurface(不翻译) 支持。当设置此标志时,以下情况下进入切片模式
  • 当通过系列 API 明确更改选择到可见项目时
  • 当通过单击图表更改选择时
  • 当选择模式更改并且所选项目可见时
QAbstract3DGraph::SelectionMultiSeries16设置此模式表示将在相同位置的所有系列的项突出显示,而不仅仅是所选的项。其他系列的实际选择不改变。在设置此模式标志时,必须同时设置一个或多个基本选择标志(《translation_no`SelectionItem《translate_no`》、《translate_no`》》《translate_no`》)、《translate_no`》`SelectionRow`》、《translate_no`>` 或《translate_no`>`)、《translate_no`>`)、《translate_no`>` SelectionColumn`)。`。多系列选择不支持《translation_no`>`Q3DScatter`。

The SelectionFlags 类型是 QFlags<SelectionFlag> 的别名。它存储了 SelectionFlag 值的 OR 组合。

枚举类 QAbstract3DGraph::ShadowQuality

阴影质量。

常量描述
QAbstract3DGraph::ShadowQuality::None0阴影已禁用。
QAbstract3DGraph::ShadowQuality::Low1以低质量渲染阴影。
QAbstract3DGraph::ShadowQuality::Medium2以中等质量渲染阴影。
QAbstract3DGraph::ShadowQuality::High3以高质量渲染阴影。
QAbstract3DGraph::ShadowQuality::SoftLow4以低质量并带有柔化边缘的方式渲染阴影。
QAbstract3DGraph::ShadowQuality::SoftMedium5以中等质量并带有柔化边缘的方式渲染阴影。
QAbstract3DGraph::ShadowQuality::SoftHigh6以高质量并带有柔化边缘的方式渲染阴影。

属性文档

activeInputHandler : QAbstract3DInputHandler*

此属性包含图表中使用的活动输入处理器。

访问函数

QAbstract3DInputHandler *activeInputHandler() const
voidsetActiveInputHandler(QAbstract3DInputHandler *inputHandler)

通知信号

voidactiveInputHandlerChanged(QAbstract3DInputHandler *inputHandler)

activeTheme : Q3DTheme*

此属性包含图表的活动主题。

activeTheme 设置为用于图表的活动主题。隐式调用 addTheme()以将主题的所有权传输到此图表。

如果 activeTheme 为空,则创建一个临时默认主题。如果以后明确设置了任何主题,则销毁此临时主题。即使设置了主题,也可以修改其属性,且修改会立即生效。

访问函数

Q3DTheme *activeTheme() const
voidsetActiveTheme(Q3DTheme *activeTheme)

通知信号

voidactiveThemeChanged(Q3DTheme *activeTheme)

aspectRatio : qreal

此属性表示水平平面最长轴与y轴之间的图形缩放比率。

默认值为 2.0

注意: Q3DBars 没有影响。

访问函数

qrealaspectRatio() const
voidsetAspectRatio(qreal ratio)

通知信号

voidaspectRatioChanged(qreal ratio)

另请参阅 horizontalAspectRatio

cameraTargetPosition : QVector3D

此属性表示在3D空间中,摄像机目标位置的向量或顶点。

默认值为 QVector3D(0.0, 0.0, 0.0)

有效的坐标值在 -1.0...1.0 之间,其中边缘值表示相应轴的边缘。任何超出此范围的值都会被钳位到边缘。

注意: 对于条形图,Y坐标会被忽略,摄像机总是对准水平背景上的一个点。

访问函数

QVector3DcameraTargetPosition()
voidsetCameraTargetPosition(const QVector3D &target)

通知信号

voidcameraTargetPositionChanged(const QVector3D &target)

cameraXRotation : float

此属性表示摄像机围绕目标点在X轴旋转的角度(以度为单位)。

访问函数

floatcameraXRotation()
voidsetCameraXRotation(float rotation)

通知信号

voidcameraXRotationChanged(float rotation)

cameraYRotation : float

此属性表示摄像机围绕目标点在Y轴旋转的角度(以度为单位)。

访问函数

floatcameraYRotation()
voidsetCameraYRotation(float rotation)

通知信号

voidcameraYRotationChanged(float rotation)

cameraZoomLevel : float

此属性表示摄像机缩放级别(百分比)。

默认值 100.0f 表示摄像机没有设置放大或缩小。此值受限于 minCameraZoomLevelmaxCameraZoomLevel 属性。

访问函数

floatcameraZoomLevel()
voidsetCameraZoomLevel(float level)

通知信号

voidcameraZoomLevelChanged(float zoomLevel)

另请参阅 minCameraZoomLevelmaxCameraZoomLevel

[只读] currentFps : const int

此属性持有上一秒的渲染结果。

当启用FPS测量时,将此只读属性存储在结果中。在启动测量后,至少需要一秒才能更新此值。

访问函数

intcurrentFps() const

通知信号

voidcurrentFpsChanged(int fps)

另请参阅 measureFps

horizontalAspectRatio : qreal

此属性表示x轴和z轴之间图形缩放的比率。

值为 0.0 表示根据轴范围自动缩放。默认为 0.0

Q3DBars没有影响,它通过barThicknessbarSpacing属性在水平面上进行处理。极坐标图也忽略此属性。

访问函数

qrealhorizontalAspectRatio() const
voidsetHorizontalAspectRatio(qreal ratio)

通知信号

voidhorizontalAspectRatioChanged(qreal ratio)

另请参阅aspectRatiopolarQ3DBars::barThicknessQ3DBars::barSpacing

locale : QLocale

此属性保留用于格式化各种数字标签的区域设置。

默认为"C"区域设置。

访问函数

QLocalelocale() const
voidsetLocale(const QLocale &locale)

通知信号

voidlocaleChanged(const QLocale &locale)

另请参阅QValue3DAxis::labelFormat

margin : qreal

此属性保留用于绘图区域边缘和图形背景边缘之间空间的绝对值。

如果边缘值是负数,则自动确定边缘,并可以根据系列中项目的大小和图形类型进行变化。如果图元的纵横比没有从默认值更改,则该值解释为y轴范围的分数。默认为-1.0

注意:对于散点图,将边缘边缘的边缘与自动确定的边缘设置得更小可能会引起图边缘的散点与图形背景重叠。

注意:在散点和表面图上,如果边缘与轴标签大小相比很小时,会调整轴边缘标签的位置以避免与相邻轴的边缘标签重叠。

访问函数

qrealmargin() const
voidsetMargin(qreal margin)

通知信号

voidmarginChanged(qreal margin)

maxCameraZoomLevel : float

此属性保留允许的最大相机缩放级别。

如果将最大级别设置为新的值,该值低于现有最小级别,则将调整最小级别以与新最大值相对应。如果当前的cameraZoomLevel在新的范围外,它将相应地进行调整。默认为500.0f

访问函数

floatmaxCameraZoomLevel()
voidsetMaxCameraZoomLevel(float level)

通知信号

voidmaxCameraZoomLevelChanged(float zoomLevel)

另请参阅cameraZoomLevelminCameraZoomLevel

measureFps : bool

此属性保留渲染是否是连续的而不是按需进行的。

如果true,则渲染是连续的,并且currentFps属性的值会更新。默认为false

访问函数

boolmeasureFps() const
voidsetMeasureFps(bool enable)

通知信号

voidmeasureFpsChanged(bool enabled)

另请参阅currentFps

minCameraZoomLevel : float

此属性保留允许的最小相机缩放级别。

如果将最小级数设置为比现有最大级数更高的新值,则最大级数也调整为新的最小级数。如果当前缩放级数超出新界限,它也将进行调整。minCameraZoomLevel不能设置为小于1.0f。默认为10.0f

访问函数

floatminCameraZoomLevel()
voidsetMinCameraZoomLevel(float level)

通知信号

voidminCameraZoomLevelChanged(float zoomLevel)

另请参阅cameraZoomLevelmaxCameraZoomLevel

msaaSamples : int

此属性包含在MSAA中使用的样本数。

将使用的MSAA样本数设置为samples。样本数可以是0、2、4或8。

访问函数

intmsaaSamples() const
voidsetMsaaSamples(int samples)

通知信号

voidmsaaSamplesChanged(int samples)

optimizationHint : QAbstract3DGraph::OptimizationHint

此属性包含是否使用默认模式、静态模式或传统模式进行渲染优化。

默认模式使用实例化渲染,并在大多数系统上提供最佳性能水平下的完整功能集。静态模式优化图形渲染,非常适合大型不更改的数据集。对于动态数据和项目旋转的更改,速度较慢。选择未进行优化,因此不建议与大量数据集一起使用静态模式。静态优化仅在散点图中有效。传统模式单独渲染图中所有项目,不使用实例化。仅在默认模式不起作用时(即目标系统不支持实例化)才应使用。默认为默认

注意:在某些环境中,使用静态优化的大型图形可能无法渲染,因为所有项目都使用单个绘制调用进行渲染,不同的图形驱动程序支持每个调用中不同的最大顶点数。这主要是在32位和OpenGL ES2平台上出现的问题。为了绕过这个问题,请选择具有低顶点数的项目网格或使用点网格。

访问函数

QAbstract3DGraph::OptimizationHintoptimizationHint() const
voidsetOptimizationHint(QAbstract3DGraph::OptimizationHint hint)

通知信号

voidoptimizationHintChanged(QAbstract3DGraph::OptimizationHint hint)

另请参阅QAbstract3DSeries::mesh

orthoProjection : bool

此属性包含是否使用正交投影显示图形。

默认为false

注意:设置为true时将禁用阴影。

访问函数

boolisOrthoProjection() const
voidsetOrthoProjection(bool enable)

通知信号

voidorthoProjectionChanged(bool enabled)

另请参阅QAbstract3DAxis::labelAutoRotation

polar : bool

此属性包含是否将水平轴更改成极坐标轴。

如果true,x轴变为角度轴,z轴变为径向轴。极坐标模式不适合条形图。

默认为false

访问函数

boolisPolar() const
voidsetPolar(bool enable)

通知信号

voidpolarChanged(bool enabled)

另请参阅orthoProjectionradialLabelOffset

[只读] queriedGraphPosition : const QVector3D

此属性存储沿着每个轴的最新已查询的图位置值。

此只读属性包含 Q3DScene::graphPositionQuery 的结果。数值已归一化到 [-1, 1] 范围内。如果查询的位置超出图边界,则值将不会反映实际位置,而将指示范围外未定义的位置 [-1, 1] 之外。直到进行查询,该值将未定义。

没有单个正确的 3D 坐标与特定的屏幕位置相匹配,因此为了保持一致,查询始终针对围绕图的不可见盒子的内侧进行。

注意:条形图仅允许在图地板级别查询图位置,因此条形图的 y 值始终为零,并且只能在包含图地板的屏幕位置处进行有效查询。

访问函数

QVector3DqueriedGraphPosition() const

通知信号

voidqueriedGraphPositionChanged(const QVector3D &data)

另请参阅Q3DScene::graphPositionQuery.

radialLabelOffset : float

此属性存储径向极坐标轴标签的归一化水平偏移量。

0.0 表示标签应该绘制在 0 度角度轴向网格线的旁边。值 1.0 表示标签在图背景边缘的正常位置处绘制。默认为 1.0

如果 polar 属性值为 false,则忽略此属性。

访问函数

floatradialLabelOffset() const
voidsetRadialLabelOffset(float offset)

通知信号

voidradialLabelOffsetChanged(float offset)

另请参阅polar.

[只读] scene : Q3DScene* const

此属性存储可以用来操作场景和访问场景元素的 Q3DScene 指针。

此属性为只读。

访问函数

Q3DScene *scene() const

[只读] selectedElement : const QAbstract3DGraph::ElementType

此属性存储图中选中的元素。

可以使用此属性查询选中的元素类型。类型在新选定的元素和 selectedElementChanged 信号发出之间有效。

可以将信号用于实现自定义输入处理等,例如在 Scatter Graph 选项卡下的 Graph Gallery 示例中演示。

访问函数

QAbstract3DGraph::ElementTypeselectedElement() const

通知信号

voidselectedElementChanged(QAbstract3DGraph::ElementType type)

另请参阅 selectedLabelIndex(),selectedAxis(),selectedCustomItemIndex(),selectedCustomItem(),Q3DBars::selectedSeries(),Q3DScatter::selectedSeries(),Q3DSurface::selectedSeries(),以及 Q3DScene::setSelectionQueryPosition

selectionMode : QAbstract3DGraph::SelectionFlags

项目选择模式。

SelectionFlags的组合。默认情况下,SelectionItem。不同的图形类型支持不同的选择模式。

访问函数

QAbstract3DGraph::SelectionFlagsselectionMode() const
voidsetSelectionMode(const QAbstract3DGraph::SelectionFlags &selectionMode)

通知信号

voidselectionModeChanged(const QAbstract3DGraph::SelectionFlags selectionMode)

另请参阅 SelectionFlags

shadowQuality : QAbstract3DGraph::ShadowQuality

此属性存储阴影的质量。

ShadowQuality枚举值之一。默认情况下,Medium

注意: 如果将阴影质量设置为特定级别失败,则该级别会降低,直到成功设置为止。《shadowQualityChanged》信号在每次更改时都会发出。

访问函数

QAbstract3DGraph::ShadowQualityshadowQuality() const
voidsetShadowQuality(const QAbstract3DGraph::ShadowQuality &shadowQuality)

通知信号

voidshadowQualityChanged(QAbstract3DGraph::ShadowQuality quality)

另请参阅 ShadowQuality

wrapCameraXRotation : bool

此属性存储X-旋转中的最小和最大限制的行为。

如果设置为true,则相机的X-旋转从最小值包裹到最大值,从最大值包裹到最小值。如果设置为false,则相机的X-旋转限制在由最小值和最大值确定的区域。默认设置为true

访问函数

boolwrapCameraXRotation()
voidsetWrapCameraXRotation(bool wrap)

通知信号

voidwrapCameraXRotationChanged(bool wrap)

wrapCameraYRotation : bool

此属性存储Y-旋转中的最小和最大限制的行为。

如果设置为true,则相机器的Y-旋转从最小值包裹到最大值,从最大值包裹到最小值。如果设置为false,则相机的Y-旋转限制由最小值和最大值确定的区域。默认设置为true

访问函数

boolwrapCameraYRotation()
voidsetWrapCameraYRotation(bool wrap)

通知信号

voidwrapCameraYRotationChanged(bool wrap)

成员函数文档

[重写虚拟 noexcept] QAbstract3DGraph::~QAbstract3DGraph()

销毁QAbstract3DGraph

int QAbstract3DGraph::addCustomItem(QCustom3DItem *item)

QCustom3DItem item添加到图中。图将拥有添加的项目。

如果添加操作成功,返回添加项的索引;如果尝试添加null项,则返回-1;如果尝试添加已添加的项,则返回该项的索引。

项目按它们插入的顺序渲染。在具有不透明和透明项目时,需要考虑渲染顺序。

另请参阅 removeCustomItems()、removeCustomItem()、removeCustomItemAt() 和 customItems()。

void QAbstract3DGraph::addInputHandler(QAbstract3DInputHandler *inputHandler)

将给定的inputHandler添加到图中。通过addInputHandler添加的输入处理程序不会直接使用。仅将inputHandler的所有权赋予图。inputHandler不能为空或已添加到另一个图中。

另请参阅 releaseInputHandler() 和 setActiveInputHandler()。

void QAbstract3DGraph::addTheme(Q3DTheme *theme)

将给定的theme添加到图中。通过addTheme添加的主题不会直接使用。仅将主题的所有权赋予图。theme不能为空或已添加到另一个图中。

另请参阅 releaseTheme() 和 setActiveTheme()。

void QAbstract3DGraph::clearSelection()

清除所有附加系列中的选择。

QList<QCustom3DItem *> QAbstract3DGraph::customItems() const

返回所有添加的自定义项的列表。

另请参阅 addCustomItem()。

bool QAbstract3DGraph::hasSeries(QAbstract3DSeries *series) const

返回series是否已添加到图中。

QList<QAbstract3DInputHandler *> QAbstract3DGraph::inputHandlers() const

返回所有添加的输入处理程序的列表。

另请参阅 addInputHandler()。

void QAbstract3DGraph::releaseCustomItem(QCustom3DItem *item)

获取给定的item的所有权,并将其从图中删除。

注意:如果将同一项再次添加到图中,则需要重新设置材质或材质文件。

另请参阅 QCustom3DItem::setTextureImage() 和 QCustom3DItem::setTextureFile()。

void QAbstract3DGraph::releaseInputHandler(QAbstract3DInputHandler *inputHandler)

如果inputHandler已添加到该图中,则将其所有权归还给调用者。如果在释放inputHandler之后还在使用,则此调用后将没有活动输入处理程序。

如果默认输入处理程序被释放然后后来又添加回来,它的行为如同任何其他输入处理程序一样。

另请参考 addInputHandler() 和 setActiveInputHandler

void QAbstract3DGraph::releaseTheme(Q3DTheme *theme)

如果 theme 被添加到该图中,它将释放对 theme 的所有权。如果释放的 theme 正在使用中,将创建一个新默认主题并设置活动。

如果默认主题被释放后来又添加回来,它的行为像任何其他主题一样。

另请参考 addTheme() 和 setActiveTheme

void QAbstract3DGraph::removeCustomItem(QCustom3DItem *item)

移除自定义 item。删除分配给它的资源。

void QAbstract3DGraph::removeCustomItemAt(const QVector3D &position)

position 移除所有自定义项。删除分配给它们的资源。

void QAbstract3DGraph::removeCustomItems()

移除所有自定义项。删除分配给它们的资源。

QSharedPointer<QQuickItemGrabResult> QAbstract3DGraph::renderToImage(const QSize &imageSize = QSize())

将当前帧渲染成 imageSize 大小的图像。返回一个共享指针,可以用来访问已准备好的渲染图像。图像使用当前的抗锯齿设置渲染。

注意: OpenGL ES2 不支持抗锯齿。

另请参考 QQuickItem::grabToImage

QAbstract3DAxis *QAbstract3DGraph::selectedAxis() const

可以用来在收到任何标签类型的 selectedElementChanged 信号后获取选中的轴。选择有效,直到下一个 selectedElementChanged 信号。

返回指向选中轴的指针,或 null。

另请参考 selectedElement

QCustom3DItem *QAbstract3DGraph::selectedCustomItem() const

可以用来在收到 QAbstract3DGraph::ElementType::CustomItem 类型的 selectedElementChanged 信号后获取选中的自定义项。项的所有权仍属于图形。选择在下一个 selectedElementChanged 信号之前有效。

返回指向选中自定义项的指针,或 null。

另请参考 selectedElement

int QAbstract3DGraph::selectedCustomItemIndex() const

可以用来在收到 QAbstract3DGraph::ElementType::CustomItem 类型的 selectedElementChanged 信号后查询选中自定义项的索引。选择在下一个 selectedElementChanged 信号之前有效。

返回选中自定义项的索引,或 -1。

另请参考 selectedElement

int QAbstract3DGraph::selectedLabelIndex() const

可以用于查询在接收任何标签类型的 selectedElementChanged 信号后的所选标签的索引。选择在下一个 selectedElementChanged 信号之前有效。

返回所选标签的索引,或 -1。

另请参考 selectedElement

void QAbstract3DGraph::setActiveInputHandler(QAbstract3DInputHandler *inputHandler)

inputHandler 设置为图中使用的活动输入处理器。隐式调用 addInputHandler() 以将 inputHandler 的所有权转让给此图。

如果 inputHandler 为 null,则此调用后不会激活任何输入处理器。

注意:属性 activeInputHandler 的设置器函数。

另请参阅:activeInputHandler(),addInputHandler() 和 releaseInputHandler().

void QAbstract3DGraph::setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)

设置相机旋转和距离的实用函数。horizontalvertical 定义要使用的相机旋转。可选的 zoom 参数可以用来设置相机在由 minCameraZoomLevelmaxCameraZoomLevel 属性定义的边界内缩放百分比。

QList<Q3DTheme *> QAbstract3DGraph::themes() const

返回所有添加的主题列表。

另请参阅:addTheme().

相关非成员

QSurfaceFormat qDefaultSurfaceFormat(bool antialias)

此便利函数可用于创建适合 Qt 图表使用的自定义表面格式的函数。

antialias 参数指定是否启用抗锯齿。

在调用 show() 之前,将此函数返回的表面格式传递给图构造函数(C++)或将其设置为 QQuickView(QML)的窗口格式。

例如,在 C++ 应用程序中禁用抗锯齿

#include <QtGraphs/qutils.h>

// ...

Q3DBars *graph = new Q3DBars(qDefaultSurfaceFormat(false));

例如,在 QML 应用程序中启用直接渲染模式的抗锯齿

#include <QtGraphs/qutils.h>

// ...

QQuickView viewer;
viewer.setFormat(qDefaultSurfaceFormat(true));

© 2024 Qt 公司有限公司。本文件中包含的文档贡献是各自所有者的版权。本文件的文档是根据自由软件基金会发布的 GNU 自由文档许可版本 1.3 许可的。Qt 和 respective logos 是芬兰和其他国家/地区的 The Qt Company Ltd. 的商标。所有其他商标均为各自所有者的财产。