本页内容

QtGraphs3D Namespace

QtGraphs3D 模块提供了由QtGraphs 的 3D API 所使用的枚举。更多内容...

头文件: #include <qgraphs3dnamespace.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs

类型

enum class CameraPreset { NoPreset, FrontLow, Front, FrontHigh, LeftLow, …, DirectlyBelow }
(since 6.12) enum class DragMode { Rotate, Pan }
enum class ElementType { None, Series, AxisXLabel, AxisYLabel, AxisZLabel, CustomItem }
enum class GridLineType { Shader, Geometry }
enum class OptimizationHint { Default, Legacy }
enum class RenderingMode { DirectToBackground, Indirect }
enum class SelectionFlag { None, Item, Row, ItemAndRow, Column, …, MultiSeries }
flags SelectionFlags
enum class ShadowQuality { None, Low, Medium, High, SoftLow, …, SoftHigh }
(since 6.10) enum class SliceCaptureType { NoImage, RowImage, ColumnImage }
(since 6.9) enum class TransparencyTechnique { Default, Approximate, Accurate }

详细说明

类型文档

enum class QtGraphs3D::CameraPreset

摄像机的预设位置。

常量值描述
QtGraphs3D::CameraPreset::NoPreset0用于指示未设置预设,或者场景已被自由旋转。
QtGraphs3D::CameraPreset::FrontLow1摄像机的 x 和 y 旋转均为 0。
QtGraphs3D::CameraPreset::Front2X 旋转为 0,y 旋转为 22.5 度。
QtGraphs3D::CameraPreset::FrontHigh3X 旋转为 0,Y 旋转为 45 度。
QtGraphs3D::CameraPreset::LeftLow4X 旋转为 90 度,Y 旋转为 0 度。
QtGraphs3D::CameraPreset::Left5X 旋转为 90 度,Y 旋转为 22.5 度。
QtGraphs3D::CameraPreset::LeftHigh6X 旋转为 90 度,Y 旋转为 45 度。
QtGraphs3D::CameraPreset::RightLow7X 轴旋转角度为 -90 度,Y 轴旋转角度为 0 度。
QtGraphs3D::CameraPreset::Right8X 轴旋转角度为 -90 度,Y 轴旋转角度为 22.5 度。
QtGraphs3D::CameraPreset::RightHigh9X 轴旋转角度为 -90 度,Y 轴旋转角度为 45 度。
QtGraphs3D::CameraPreset::BehindLow10X 轴旋转 180 度,Y 轴旋转 0 度。
QtGraphs3D::CameraPreset::Behind11X 轴旋转 180 度,Y 轴旋转 22.5 度。
QtGraphs3D::CameraPreset::BehindHigh12X 轴旋转为 180 度,Y 轴旋转为 45 度。
QtGraphs3D::CameraPreset::IsometricLeft13X 轴旋转角度为 45 度,Y 轴旋转角度为 22.5 度。
QtGraphs3D::CameraPreset::IsometricLeftHigh14X 轴旋转为 45 度,Y 轴旋转为 45 度。
QtGraphs3D::CameraPreset::IsometricRight15X 轴旋转为 -45 度,Y 轴旋转为 22.5 度。
QtGraphs3D::CameraPreset::IsometricRightHigh16X 轴旋转角度为 -45 度,Y 轴旋转角度为 45 度。
QtGraphs3D::CameraPreset::DirectlyAbove17X 轴旋转为 0 度,Y 轴旋转为 90 度。
QtGraphs3D::CameraPreset::DirectlyAboveCW4518X 轴旋转角度为 -45 度,Y 轴旋转角度为 90 度。
QtGraphs3D::CameraPreset::DirectlyAboveCCW4519X 轴旋转为 45 度,Y 轴旋转为 90 度。
QtGraphs3D::CameraPreset::FrontBelow20X 旋转为 0,Y 旋转为 -45 度。在Q3DBarsWidgetItem 中,从 FrontBelow 开始,这些设置仅适用于包含负值的图表。对于仅包含正值的图表,它们的作用与 CameraPreset...Low 相同。
QtGraphs3D::CameraPreset::LeftBelow21X 旋转为 90 度,y 旋转为 -45 度。
QtGraphs3D::CameraPreset::RightBelow22X 旋转为 -90 度,Y 旋转为 -45 度。
QtGraphs3D::CameraPreset::BehindBelow23X 旋转为 180 度,Y 旋转为 -45 度。
QtGraphs3D::CameraPreset::DirectlyBelow24X 轴旋转角为 0 度,Y 轴旋转角为 -90 度。对于仅包含正值的柱形图,其效果等同于“FrontLow”。

[since 6.12] enum class QtGraphs3D::DragMode

确定如何解释图形上的鼠标或触摸拖动事件。

常量值描述
QtGraphs3D::DragMode::Rotate0拖动会旋转图表。
QtGraphs3D::DragMode::Pan1拖动将平移图表。

该枚举类型首次出现在 Qt 6.12 中。

enum class QtGraphs3D::ElementType

图中元素的类型。

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

enum class QtGraphs3D::GridLineType

常数值描述
QtGraphs3D::GridLineType::Shader0网格线通过着色器由GPU渲染。
QtGraphs3D::GridLineType::Geometry1网格线通过 3D 模型进行渲染。

enum class QtGraphs3D::OptimizationHint

渲染的优化提示。

常量值描述
QtGraphs3D::OptimizationHint::Default0在保持良好性能的同时提供包含实例化的完整功能集。
QtGraphs3D::OptimizationHint::Legacy1在合理的性能下提供完整的功能集。当 OptimizationHint.Default 性能不佳或无法正常工作时,应使用此选项。

enum class QtGraphs3D::RenderingMode

常数值描述
QtGraphs3D::RenderingMode::DirectToBackground0表示图表将直接渲染在窗口背景上,而 QML 项则渲染在其上方。若使用不透明的 QML 项作为背景,则会遮盖图表。在渲染图表之前会清空整个窗口,包括图表外的区域。 如果窗口的渲染表面格式支持抗锯齿,则会启用该功能(参见QQuick3D::idealSurfaceFormat())。此渲染模式能提供最佳性能,但会导致 QML 行为不符合标准。例如,图形不会遵循 QML 项的 z 轴层级顺序,且不透明度值对其无效。
QtGraphs3D::RenderingMode::Indirect1表示图将首先渲染到一个离屏表面,然后在正常的 QML 项渲染过程中被绘制出来。 如果当前环境支持多采样方法,且 msaaSamples 属性的值大于零,则渲染的图像将使用多采样方法进行抗锯齿处理。此渲染模式在牺牲性能的同时,提供了良好的质量和正常的 QML 项目行为。

enum class QtGraphs3D::SelectionFlag
flags QtGraphs3D::SelectionFlags

项目选择模式。该枚举的值可以与“或”运算符组合使用。

常量值描述
QtGraphs3D::SelectionFlag::None0x00选择模式已禁用。
QtGraphs3D::SelectionFlag::Item0x01选择会突出显示单个项目。
QtGraphs3D::SelectionFlag::Row0x02选择时会高亮显示单个行。
QtGraphs3D::SelectionFlag::ItemAndRowItem | Row用于以不同颜色同时突出显示项目和行的组合标志。
QtGraphs3D::SelectionFlag::Column0x04选择时会高亮显示单列。
QtGraphs3D::SelectionFlag::ItemAndColumnItem | Column用于以不同颜色同时突出显示项目和列的组合标志。
QtGraphs3D::SelectionFlag::RowAndColumnRow | Column用于同时以不同颜色高亮显示行和列的组合标志。
QtGraphs3D::SelectionFlag::ItemRowAndColumnItem | Row | Column用于同时高亮显示项目、行和列的组合标志。
QtGraphs3D::SelectionFlag::Slice0x08设置此模式标志表示图表应自动处理切片视图。 如果您希望通过Q3DScene 自行控制切片视图,请勿设置此标志。设置此模式标志时,必须同时设置Row 或Column 其中之一,但不能同时设置两者。仅Q3DBarsWidgetItem 和Q3DSurfaceWidgetItem 支持切片功能。当设置此标志时,在以下情况下将进入切片模式:
  • 通过系列 API 显式将选中项更改为可见项时
  • 通过点击图表更改选区时
  • 当选择模式发生变化且所选项目可见时
QtGraphs3D::SelectionFlag::MultiSeries0x10设置此模式意味着同一位置的所有系列中的项目都会被高亮显示,而不仅仅是选中的项目。其他系列中的实际选中状态不会发生变化。设置此模式标志时,还必须同时设置一个或多个基本选中标志(Item 、Row 或Column )。Q3DScatterWidgetItem 不支持多系列选中。

SelectionFlags 类型是QFlags<SelectionFlag> 的 typedef。它存储 SelectionFlag 值的按“或”运算组合。

enum class QtGraphs3D::ShadowQuality

阴影的质量。

常量值说明
QtGraphs3D::ShadowQuality::None0禁用阴影。
QtGraphs3D::ShadowQuality::Low1以低质量渲染阴影。
QtGraphs3D::ShadowQuality::Medium2以中等质量渲染阴影。
QtGraphs3D::ShadowQuality::High3以高质量渲染阴影。
QtGraphs3D::ShadowQuality::SoftLow4阴影以低质量渲染,边缘经过柔化。
QtGraphs3D::ShadowQuality::SoftMedium5阴影以中等质量渲染,边缘经过柔化。
QtGraphs3D::ShadowQuality::SoftHigh6阴影以高质量渲染,边缘经过柔化。

[since 6.10] enum class QtGraphs3D::SliceCaptureType

要抓取到图像中的切片类型。

常量值描述
QtGraphs3D::SliceCaptureType::NoImage0未定义要捕获的切片类型。
QtGraphs3D::SliceCaptureType::RowImage1捕获行切片。
QtGraphs3D::SliceCaptureType::ColumnImage2用于列的捕获切片。

该枚举在 Qt 6.10 中引入。

[since 6.9] enum class QtGraphs3D::TransparencyTechnique

指定要使用的透明度处理方式。默认值为Default 。在渲染透明表面图时,请使用Approximate 或Accurate 。对于其他图类型,应使用Default 。

常量值描述
QtGraphs3D::TransparencyTechnique::Default0表示不使用与顺序无关的透明度技术。可提供最佳性能。当图表不包含透明度,或者条形图或散点图同时使用实例化(即optimizationHint为 {QtGraphs3D::OptimizationHint::Default})时,请使用此选项。
QtGraphs3D::TransparencyTechnique::Approximate1表示图将尝试近似实现顺序无关透明度。此方法比 `Accurate ` 更快,可在旧款硬件上运行,但可能会产生不准确的结果。当需要顺序无关透明度,但性能开销必须低于使用精确顺序无关透明度时,请使用此方法。
QtGraphs3D::TransparencyTechnique::Accurate2表示使用精确的顺序无关透明度。当需要完美的透明度渲染时使用。

该枚举在 Qt 6.9 中引入。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.