QtGraphs3D Namespace
QtGraphs3D 模块提供用于QtGraphs' 3D API 的枚举。更多
| 头文件: | #include <QtGraphs3D> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs)target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
- QtGraphs3D 是Qt Graphs C++ Classes for 3D 的一部分。
类型
| enum class | CameraPreset { NoPreset, FrontLow, Front, FrontHigh, LeftLow, …, DirectlyBelow } |
| 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 } |
函数
(until 6.9) QSurfaceFormat | qDefaultSurfaceFormat(bool antialias) |
类型文档
enum class QtGraphs3D::CameraPreset
摄像机的预定义位置
| 常数 | 值 | 说明 |
|---|---|---|
QtGraphs3D::CameraPreset::NoPreset | 0 | 用于表示未设置预置或场景已自由旋转。 |
QtGraphs3D::CameraPreset::FrontLow | 1 | 摄像机的 x 和 y 旋转角度均为 0。 |
QtGraphs3D::CameraPreset::Front | 2 | X 旋转角度为 0,Y 旋转角度为 22.5 度。 |
QtGraphs3D::CameraPreset::FrontHigh | 3 | X 旋转为 0,Y 旋转为 45 度。 |
QtGraphs3D::CameraPreset::LeftLow | 4 | X 轴旋转 90 度,Y 轴旋转 0 度。 |
QtGraphs3D::CameraPreset::Left | 5 | X 旋转 90 度,Y 旋转 22.5 度。 |
QtGraphs3D::CameraPreset::LeftHigh | 6 | X 旋转 90 度,Y 旋转 45 度。 |
QtGraphs3D::CameraPreset::RightLow | 7 | X 旋转为 -90,Y 旋转为 0 度。 |
QtGraphs3D::CameraPreset::Right | 8 | X 旋转为 -90,Y 旋转为 22.5 度。 |
QtGraphs3D::CameraPreset::RightHigh | 9 | X 旋转为 -90,Y 旋转为 45 度。 |
QtGraphs3D::CameraPreset::BehindLow | 10 | X 旋转 180,Y 旋转 0 度。 |
QtGraphs3D::CameraPreset::Behind | 11 | X 旋转 180,Y 旋转 22.5 度。 |
QtGraphs3D::CameraPreset::BehindHigh | 12 | X 旋转 180 度,Y 旋转 45 度。 |
QtGraphs3D::CameraPreset::IsometricLeft | 13 | X 旋转 45 度,Y 旋转 22.5 度。 |
QtGraphs3D::CameraPreset::IsometricLeftHigh | 14 | X 旋转 45 度,Y 旋转 45 度。 |
QtGraphs3D::CameraPreset::IsometricRight | 15 | X 旋转为 -45,Y 旋转为 22.5 度。 |
QtGraphs3D::CameraPreset::IsometricRightHigh | 16 | X 轴旋转为 -45,Y 轴旋转为 45 度。 |
QtGraphs3D::CameraPreset::DirectlyAbove | 17 | X 轴旋转为 0,Y 轴旋转为 90 度。 |
QtGraphs3D::CameraPreset::DirectlyAboveCW45 | 18 | X 旋转为 -45,Y 旋转为 90 度。 |
QtGraphs3D::CameraPreset::DirectlyAboveCCW45 | 19 | X 旋转 45 度,Y 旋转 90 度。 |
QtGraphs3D::CameraPreset::FrontBelow | 20 | X 轴旋转为 0,Y 轴旋转为 -45 度。在Q3DBarsWidgetItem FrontBelow 以后的版本中,这些参数仅适用于包含负值的图形。它们的作用与 CameraPreset...Low 相同,仅适用于正值。 |
QtGraphs3D::CameraPreset::LeftBelow | 21 | X 旋转 90 度,Y 旋转 -45 度。 |
QtGraphs3D::CameraPreset::RightBelow | 22 | X 轴旋转 90 度,Y 轴旋转 -45 度。 |
QtGraphs3D::CameraPreset::BehindBelow | 23 | X 旋转 180 度,Y 旋转 -45 度。 |
QtGraphs3D::CameraPreset::DirectlyBelow | 24 | X 轴旋转为 0,Y 轴旋转为 -90 度。对于仅正向的条形图,作用与 FrontLow 相同。 |
enum class QtGraphs3D::ElementType
图形中元素的类型。
| 常量 | 值 | 说明 |
|---|---|---|
QtGraphs3D::ElementType::None | 0 | 未定义元素。 |
QtGraphs3D::ElementType::Series | 1 | 系列中的一个项目。 |
QtGraphs3D::ElementType::AxisXLabel | 2 | x 轴标签。 |
QtGraphs3D::ElementType::AxisYLabel | 3 | y 轴标签 |
QtGraphs3D::ElementType::AxisZLabel | 4 | z 轴标签 |
QtGraphs3D::ElementType::CustomItem | 5 | 自定义项目。 |
enum class QtGraphs3D::GridLineType
| 常数 | 值 | 说明 |
|---|---|---|
QtGraphs3D::GridLineType::Shader | 0 | 网格线通过着色器中的 GPU 渲染。 |
QtGraphs3D::GridLineType::Geometry | 1 | 网格线与 3D 模型一起渲染。 |
enum class QtGraphs3D::OptimizationHint
渲染的优化提示。
| 常数 | 值 | 说明 |
|---|---|---|
QtGraphs3D::OptimizationHint::Default | 0 | 以良好的性能提供带实例化的完整功能集。 |
QtGraphs3D::OptimizationHint::Legacy | 1 | 以合理的性能提供完整的功能集。如果 OptimizationHint.Default 性能较差或不起作用,则使用该值。 |
enum class QtGraphs3D::RenderingMode
| 常数 | 值 | 说明 |
|---|---|---|
QtGraphs3D::RenderingMode::DirectToBackground | 0 | 表示图形将直接呈现在窗口背景上,而 QML 项目将呈现在图形之上。使用非透明的 QML 项目作为背景将隐藏图形。在渲染图形前清除整个窗口,包括图形以外的区域。如果窗口的表面格式支持抗锯齿,则会使用抗锯齿(请参阅QQuick3D::idealSurfaceFormat() )。这种渲染模式提供了最佳性能,但却牺牲了非标准的 QML 行为。例如,图形不遵守 QML 项的 Z 排序,不透明度值对图形也没有影响。 |
QtGraphs3D::RenderingMode::Indirect | 1 | 表示图形将首先渲染到屏幕外表面,然后在正常的 QML 项目渲染过程中绘制。如果当前环境支持多采样方法,且 msaaSamples 属性值大于零,则使用多采样方法对渲染的图像进行抗锯齿处理。这种渲染模式提供了良好的质量和正常的 QML 项行为,但牺牲了性能。 |
枚举类 QtGraphs3D::SelectionFlag
flags QtGraphs3D::SelectionFlags
项目选择模式。此枚举的值可以用 OR 运算符组合。
| 常量 | 值 | 说明 |
|---|---|---|
QtGraphs3D::SelectionFlag::None | 0x00 | 禁用选择模式。 |
QtGraphs3D::SelectionFlag::Item | 0x01 | 选择突出显示单个项目。 |
QtGraphs3D::SelectionFlag::Row | 0x02 | 选择突出显示单行。 |
QtGraphs3D::SelectionFlag::ItemAndRow | Item | Row | 组合标记,用不同颜色高亮显示项目和行。 |
QtGraphs3D::SelectionFlag::Column | 0x04 | 选择突出显示单列。 |
QtGraphs3D::SelectionFlag::ItemAndColumn | Item | Column | 以不同颜色突出显示项和列的组合标记。 |
QtGraphs3D::SelectionFlag::RowAndColumn | Row | Column | 高亮显示行和列的组合标记。 |
QtGraphs3D::SelectionFlag::ItemRowAndColumn | Item | Row | Column | 组合标记用于突出显示项、行和列。 |
QtGraphs3D::SelectionFlag::Slice | 0x08 | 设置此模式标记表示图形应自动处理切片视图。如果希望通过Q3DScene 自行控制切片视图,请不要设置此标记。设置此模式标志时,必须同时设置Row 或Column ,但不能同时设置。切片模式仅由Q3DBarsWidgetItem 和Q3DSurfaceWidgetItem 支持。设置此标记后,在以下情况下将进入切片模式:
|
QtGraphs3D::SelectionFlag::MultiSeries | 0x10 | 设置该模式意味着同一位置的所有系列的项目都会突出显示,而不仅仅是选中的项目。其他序列中的实际选择不会改变。设置该模式标记时,必须同时设置一个或多个基本选择标记(Item,Row, 或Column )。Q3DScatterWidgetItem 不支持多系列选择。 |
SelectionFlags 类型是QFlags<SelectionFlag> 的类型定义。它存储 SelectionFlag 值的 OR 组合。
enum class QtGraphs3D::ShadowQuality
阴影的质量
| 常数 | 值 | 说明 |
|---|---|---|
QtGraphs3D::ShadowQuality::None | 0 | 禁用阴影。 |
QtGraphs3D::ShadowQuality::Low | 1 | 阴影以低质量渲染。 |
QtGraphs3D::ShadowQuality::Medium | 2 | 以中等质量渲染阴影。 |
QtGraphs3D::ShadowQuality::High | 3 | 以高质量渲染阴影。 |
QtGraphs3D::ShadowQuality::SoftLow | 4 | 阴影以软化边缘的低质量渲染。 |
QtGraphs3D::ShadowQuality::SoftMedium | 5 | 阴影以中等质量渲染,边缘柔化。 |
QtGraphs3D::ShadowQuality::SoftHigh | 6 | 阴影以高质量渲染,边缘软化。 |
功能文档
[until 6.9] QSurfaceFormat qDefaultSurfaceFormat(bool antialias)
该函数将在 6.9 版本中被废弃。
使用QQuick3D::idealSurfaceFormat()
此方便函数可用于创建适合Qt Graphs 图形使用的自定义曲面格式。
antialias 参数用于指定是否激活抗锯齿。
在调用show() 之前,请将此函数返回的曲面格式提供给图形构造函数(C++),或将其设置为QQuickView 的窗口格式(QML)。
例如,在 C++ 应用程序中禁用抗锯齿:
#include <QtGraphs/qutils.h> // ... QSurfaceFormat::setDefaultFormat(qDefaultSurfaceFormat(true));
例如,在 QML 应用程序中为直接渲染模式启用抗锯齿:
#include <QtGraphs/qutils.h> // ... QQuickView viewer; viewer.setFormat(qDefaultSurfaceFormat(true));
© 2025 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.