QAbstract3DGraph 类
QAbstract3DGraph 类提供图形的窗口和渲染循环。 更多...
头文件 | #include <QAbstract3DGraph> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
qmake | QT += graphs |
继承自 | QQuickWidget |
继承 | |
状态 | 技术预览 |
- 所有成员列表,包括继承成员
- QAbstract3DGraph 是 Qt 图表 C++ 3D 类 的一部分。
公共类型
枚举类 | 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 |
int | addCustomItem(QCustom3DItem *item) |
void | addInputHandler(QAbstract3DInputHandler *inputHandler) |
void | addTheme(Q3DTheme *theme) |
qreal | aspectRatio() const |
QAbstract3DGraph::CameraPreset | cameraPreset() const |
QVector3D | cameraTargetPosition() |
float | cameraXRotation() |
float | cameraYRotation() |
float | cameraZoomLevel() |
void | clearSelection() |
int | currentFps() const |
QList | customItems() const |
bool | hasSeries(QAbstract3DSeries *series) const |
qreal | horizontalAspectRatio() const |
QList | inputHandlers() const |
bool | isOrthoProjection() const |
bool | isPolar() const |
QLocale | locale() const |
qreal | margin() const |
float | maxCameraZoomLevel() |
bool | measureFps() const |
float | minCameraZoomLevel() |
int | msaaSamples() const |
QAbstract3DGraph::OptimizationHint | optimizationHint() const |
QVector3D | queriedGraphPosition() const |
float | radialLabelOffset() const |
void | releaseCustomItem(QCustom3DItem *item) |
void | releaseInputHandler(QAbstract3DInputHandler *inputHandler) |
void | releaseTheme(Q3DTheme *theme) |
void | removeCustomItem(QCustom3DItem *item) |
void | removeCustomItemAt(const QVector3D &position) |
void | removeCustomItems() |
QSharedPointer<QQuickItemGrabResult> | renderToImage(const QSize &imageSize = QSize()) |
Q3DScene * | scene() const |
QAbstract3DAxis * | selectedAxis() const |
QCustom3DItem * | selectedCustomItem() const |
int | selectedCustomItemIndex() const |
QAbstract3DGraph::ElementType | selectedElement() const |
int | selectedLabelIndex() const |
QAbstract3DGraph::SelectionFlags | selectionMode() const |
void | setActiveInputHandler(QAbstract3DInputHandler *inputHandler) |
void | setActiveTheme(Q3DTheme *activeTheme) |
void | setAspectRatio(qreal ratio) |
void | setCameraPosition(float horizontal, float vertical, float zoom = 100.0f) |
void | setCameraPreset(QAbstract3DGraph::CameraPreset preset) |
void | setCameraTargetPosition(const QVector3D &target) |
void | setCameraXRotation(float rotation) |
void | setCameraYRotation(float rotation) |
void | setCameraZoomLevel(float level) |
void | setHorizontalAspectRatio(qreal ratio) |
void | setLocale(const QLocale &locale) |
void | setMargin(qreal margin) |
void | setMaxCameraZoomLevel(float level) |
void | setMeasureFps(bool enable) |
void | setMinCameraZoomLevel(float level) |
void | setMsaaSamples(int samples) |
void | setOptimizationHint(QAbstract3DGraph::OptimizationHint hint) |
void | setOrthoProjection(bool enable) |
void | setPolar(bool enable) |
void | setRadialLabelOffset(float offset) |
void | setSelectionMode(const QAbstract3DGraph::SelectionFlags &selectionMode) |
void | setShadowQuality(const QAbstract3DGraph::ShadowQuality &shadowQuality) |
void | setWrapCameraXRotation(bool wrap) |
void | setWrapCameraYRotation(bool wrap) |
QAbstract3DGraph::ShadowQuality | shadowQuality() const |
QList<Q3DTheme *> | themes() const |
bool | wrapCameraXRotation() |
bool | wrapCameraYRotation() |
信号
void | activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler) |
void | activeThemeChanged(Q3DTheme *activeTheme) |
void | aspectRatioChanged(qreal ratio) |
void | cameraPresetChanged(QAbstract3DGraph::CameraPreset preset) |
void | cameraTargetPositionChanged(const QVector3D &target) |
void | cameraXRotationChanged(float rotation) |
void | cameraYRotationChanged(float rotation) |
void | cameraZoomLevelChanged(float zoomLevel) |
void | currentFpsChanged(int fps) |
void | horizontalAspectRatioChanged(qreal ratio) |
void | localeChanged(const QLocale &locale) |
void | marginChanged(qreal margin) |
void | maxCameraZoomLevelChanged(float zoomLevel) |
void | measureFpsChanged(bool enabled) |
void | minCameraZoomLevelChanged(float zoomLevel) |
void | msaaSamplesChanged(int samples) |
void | optimizationHintChanged(QAbstract3DGraph::OptimizationHint hint) |
void | orthoProjectionChanged(bool enabled) |
void | polarChanged(bool enabled) |
void | queriedGraphPositionChanged(const QVector3D &data) |
void | radialLabelOffsetChanged(float offset) |
void | selectedElementChanged(QAbstract3DGraph::ElementType type) |
void | selectionModeChanged(const QAbstract3DGraph::SelectionFlags selectionMode) |
void | shadowQualityChanged(QAbstract3DGraph::ShadowQuality quality) |
void | wrapCameraXRotationChanged(bool wrap) |
void | wrapCameraYRotationChanged(bool wrap) |
相关非成员
QSurfaceFormat | qDefaultSurfaceFormat(bool antialias) |
详细描述
此类继承自 QWindow 并为继承它的图表提供渲染循环。
您通常不需要直接使用此类,而是使用其子类。
默认情况下,在 C++ 中启用抗锯齿,但在 OpenGL ES2 环境中,Qt 图表不支持抗锯齿。如果要对图表指定非默认的抗锯齿,请在构造函数中给出自定义的表面格式。您可以使用方便的函数 qDefaultSurfaceFormat()
来创建表面格式对象。
注意:QAbstract3DGraph 在默认情况下将窗口标志 Qt::FramelessWindowHint
设置为开启。如果要将图表窗口作为带有常规窗口框架的独立窗口显示,请在构建图表后清除此标志。例如
另请参阅:Q3DBars、Q3DScatter、Q3DSurface 和 Qt 图表的 C++ 类 3D。
成员类型文档
枚举 class QAbstract3DGraph::CameraPreset
相机预设位置。
常量 | 值 | 描述 |
---|---|---|
QAbstract3DGraph::CameraPreset::NoPreset | 0 | 表示未设置预设或场景已自由旋转。 |
QAbstract3DGraph::CameraPreset::FrontLow | 1 | |
QAbstract3DGraph::CameraPreset::Front | 2 | |
QAbstract3DGraph::CameraPreset::FrontHigh | 3 | |
QAbstract3DGraph::CameraPreset::LeftLow | 4 | |
QAbstract3DGraph::CameraPreset::Left | 5 | |
QAbstract3DGraph::CameraPreset::LeftHigh | 6 | |
QAbstract3DGraph::CameraPreset::RightLow | 7 | |
QAbstract3DGraph::CameraPreset::Right | 8 | |
QAbstract3DGraph::CameraPreset::RightHigh | 9 | |
QAbstract3DGraph::CameraPreset::BehindLow | 10 | |
QAbstract3DGraph::CameraPreset::Behind | 11 | |
QAbstract3DGraph::CameraPreset::BehindHigh | 12 | |
QAbstract3DGraph::CameraPreset::IsometricLeft | 13 | |
QAbstract3DGraph::CameraPreset::IsometricLeftHigh | 14 | |
QAbstract3DGraph::CameraPreset::IsometricRight | 15 | |
QAbstract3DGraph::CameraPreset::IsometricRightHigh | 16 | |
QAbstract3DGraph::CameraPreset::DirectlyAbove | 17 | |
QAbstract3DGraph::CameraPreset::DirectlyAboveCW45 | 18 | |
QAbstract3DGraph::CameraPreset::DirectlyAboveCCW45 | 19 | |
QAbstract3DGraph::CameraPreset::FrontBelow | 20 | 从 Q3DBars 的 FrontBelow 开始,这些仅适用于包括负值的图表。对于仅正值的值,它们的作用类似于 Preset...Low。 |
QAbstract3DGraph::CameraPreset::LeftBelow | 21 | |
QAbstract3DGraph::CameraPreset::RightBelow | 22 | |
QAbstract3DGraph::CameraPreset::BehindBelow | 23 | |
QAbstract3DGraph::CameraPreset::DirectlyBelow | 24 | 对于仅正值的条形图,作为 FrontLow。 |
枚举 class QAbstract3DGraph::ElementType
图表中元素的类型。
常量 | 值 | 描述 |
---|---|---|
QAbstract3DGraph::ElementType::None | 0 | 未定义元素。 |
QAbstract3DGraph::ElementType::Series | 1 | 系列中的一个项。 |
QAbstract3DGraph::ElementType::AxisXLabel | 2 | x轴标签。 |
QAbstract3DGraph::ElementType::AxisYLabel | 3 | y轴标签。 |
QAbstract3DGraph::ElementType::AxisZLabel | 4 | z轴标签。 |
QAbstract3DGraph::ElementType::CustomItem | 5 | 自定义项。 |
枚举 class QAbstract3DGraph::OptimizationHint
渲染的优化提示。
常量 | 值 | 描述 |
---|---|---|
QAbstract3DGraph::OptimizationHint::Default | 0 | 提供完整的功能集,实例化性能良好。 |
QAbstract3DGraph::OptimizationHint::Legacy | 1 | 提供完整的功能集,性能合理。如果 OptimizationHint.Default 的性能不佳或不可用,请使用。 |
枚举 QAbstract3DGraph::SelectionFlag
标志 QAbstract3DGraph::SelectionFlags
项目选择模式。枚举值的组合可以使用 OR 运算符。
常量 | 值 | 描述 |
---|---|---|
QAbstract3DGraph::SelectionNone | 0 | 选择模式已禁用。 |
QAbstract3DGraph::SelectionItem | 1 | 选择突出显示单个项目。 |
QAbstract3DGraph::SelectionRow | 2 | 选择突出显示单个行。 |
QAbstract3DGraph::SelectionItemAndRow | SelectionItem | SelectionRow | 用于使用不同颜色突出显示项目和行的组合标志。 |
QAbstract3DGraph::SelectionColumn | 4 | 选择突出显示单个列。 |
QAbstract3DGraph::SelectionItemAndColumn | SelectionItem | SelectionColumn | 用于使用不同颜色突出显示项目和列的组合标志。 |
QAbstract3DGraph::SelectionRowAndColumn | SelectionRow | SelectionColumn | 用于突出显示行和列的组合标志。 |
QAbstract3DGraph::SelectionItemRowAndColumn | SelectionItem | SelectionRow | SelectionColumn | 用于突出显示项目、行和列的组合标志。 |
QAbstract3DGraph::SelectionSlice | 8 | 设置此模式标志表示图表应自动处理切片视图处理。如果您希望通过 Q3DScene(不翻译) 自己控制切片视图,则不要设置此标志。在设置此模式标志时,必须同时设置 SelectionRow 或 SelectionColumn ,但不能同时设置两者。切片由 Q3DBars 和 Q3DSurface(不翻译) 支持。当设置此标志时,以下情况下进入切片模式
|
QAbstract3DGraph::SelectionMultiSeries | 16 | 设置此模式表示将在相同位置的所有系列的项突出显示,而不仅仅是所选的项。其他系列的实际选择不改变。在设置此模式标志时,必须同时设置一个或多个基本选择标志(《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::None | 0 | 阴影已禁用。 |
QAbstract3DGraph::ShadowQuality::Low | 1 | 以低质量渲染阴影。 |
QAbstract3DGraph::ShadowQuality::Medium | 2 | 以中等质量渲染阴影。 |
QAbstract3DGraph::ShadowQuality::High | 3 | 以高质量渲染阴影。 |
QAbstract3DGraph::ShadowQuality::SoftLow | 4 | 以低质量并带有柔化边缘的方式渲染阴影。 |
QAbstract3DGraph::ShadowQuality::SoftMedium | 5 | 以中等质量并带有柔化边缘的方式渲染阴影。 |
QAbstract3DGraph::ShadowQuality::SoftHigh | 6 | 以高质量并带有柔化边缘的方式渲染阴影。 |
属性文档
activeInputHandler : QAbstract3DInputHandler*
此属性包含图表中使用的活动输入处理器。
访问函数
QAbstract3DInputHandler * | activeInputHandler() const |
void | setActiveInputHandler(QAbstract3DInputHandler *inputHandler) |
通知信号
void | activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler) |
activeTheme : Q3DTheme*
此属性包含图表的活动主题。
将 activeTheme 设置为用于图表的活动主题。隐式调用 addTheme()以将主题的所有权传输到此图表。
如果 activeTheme 为空,则创建一个临时默认主题。如果以后明确设置了任何主题,则销毁此临时主题。即使设置了主题,也可以修改其属性,且修改会立即生效。
访问函数
Q3DTheme * | activeTheme() const |
void | setActiveTheme(Q3DTheme *activeTheme) |
通知信号
void | activeThemeChanged(Q3DTheme *activeTheme) |
aspectRatio : qreal
此属性表示水平平面最长轴与y轴之间的图形缩放比率。
默认值为 2.0
。
注意: 对 Q3DBars 没有影响。
访问函数
qreal | aspectRatio() const |
void | setAspectRatio(qreal ratio) |
通知信号
void | aspectRatioChanged(qreal ratio) |
另请参阅 horizontalAspectRatio。
cameraTargetPosition : QVector3D
此属性表示在3D空间中,摄像机目标位置的向量或顶点。
默认值为 QVector3D(0.0, 0.0, 0.0)
。
有效的坐标值在 -1.0...1.0
之间,其中边缘值表示相应轴的边缘。任何超出此范围的值都会被钳位到边缘。
注意: 对于条形图,Y坐标会被忽略,摄像机总是对准水平背景上的一个点。
访问函数
QVector3D | cameraTargetPosition() |
void | setCameraTargetPosition(const QVector3D &target) |
通知信号
void | cameraTargetPositionChanged(const QVector3D &target) |
cameraXRotation : float
此属性表示摄像机围绕目标点在X轴旋转的角度(以度为单位)。
访问函数
float | cameraXRotation() |
void | setCameraXRotation(float rotation) |
通知信号
void | cameraXRotationChanged(float rotation) |
cameraYRotation : float
此属性表示摄像机围绕目标点在Y轴旋转的角度(以度为单位)。
访问函数
float | cameraYRotation() |
void | setCameraYRotation(float rotation) |
通知信号
void | cameraYRotationChanged(float rotation) |
cameraZoomLevel : float
此属性表示摄像机缩放级别(百分比)。
默认值 100.0f
表示摄像机没有设置放大或缩小。此值受限于 minCameraZoomLevel 和 maxCameraZoomLevel 属性。
访问函数
float | cameraZoomLevel() |
void | setCameraZoomLevel(float level) |
通知信号
void | cameraZoomLevelChanged(float zoomLevel) |
另请参阅 minCameraZoomLevel 和 maxCameraZoomLevel。
[只读]
currentFps : const int
此属性持有上一秒的渲染结果。
当启用FPS测量时,将此只读属性存储在结果中。在启动测量后,至少需要一秒才能更新此值。
访问函数
int | currentFps() const |
通知信号
void | currentFpsChanged(int fps) |
另请参阅 measureFps。
horizontalAspectRatio : qreal
此属性表示x轴和z轴之间图形缩放的比率。
值为 0.0
表示根据轴范围自动缩放。默认为 0.0
。
对Q3DBars没有影响,它通过barThickness和barSpacing属性在水平面上进行处理。极坐标图也忽略此属性。
访问函数
qreal | horizontalAspectRatio() const |
void | setHorizontalAspectRatio(qreal ratio) |
通知信号
void | horizontalAspectRatioChanged(qreal ratio) |
另请参阅aspectRatio,polar,Q3DBars::barThickness和Q3DBars::barSpacing。
locale : QLocale
此属性保留用于格式化各种数字标签的区域设置。
默认为"C"
区域设置。
访问函数
QLocale | locale() const |
void | setLocale(const QLocale &locale) |
通知信号
void | localeChanged(const QLocale &locale) |
另请参阅QValue3DAxis::labelFormat。
margin : qreal
此属性保留用于绘图区域边缘和图形背景边缘之间空间的绝对值。
如果边缘值是负数,则自动确定边缘,并可以根据系列中项目的大小和图形类型进行变化。如果图元的纵横比没有从默认值更改,则该值解释为y轴范围的分数。默认为-1.0
。
注意:对于散点图,将边缘边缘的边缘与自动确定的边缘设置得更小可能会引起图边缘的散点与图形背景重叠。
注意:在散点和表面图上,如果边缘与轴标签大小相比很小时,会调整轴边缘标签的位置以避免与相邻轴的边缘标签重叠。
访问函数
qreal | margin() const |
void | setMargin(qreal margin) |
通知信号
void | marginChanged(qreal margin) |
maxCameraZoomLevel : float
此属性保留允许的最大相机缩放级别。
如果将最大级别设置为新的值,该值低于现有最小级别,则将调整最小级别以与新最大值相对应。如果当前的cameraZoomLevel在新的范围外,它将相应地进行调整。默认为500.0f
。
访问函数
float | maxCameraZoomLevel() |
void | setMaxCameraZoomLevel(float level) |
通知信号
void | maxCameraZoomLevelChanged(float zoomLevel) |
另请参阅cameraZoomLevel和minCameraZoomLevel。
measureFps : bool
此属性保留渲染是否是连续的而不是按需进行的。
如果true
,则渲染是连续的,并且currentFps属性的值会更新。默认为false
。
访问函数
bool | measureFps() const |
void | setMeasureFps(bool enable) |
通知信号
void | measureFpsChanged(bool enabled) |
另请参阅currentFps。
minCameraZoomLevel : float
此属性保留允许的最小相机缩放级别。
如果将最小级数设置为比现有最大级数更高的新值,则最大级数也调整为新的最小级数。如果当前缩放级数超出新界限,它也将进行调整。minCameraZoomLevel不能设置为小于1.0f
。默认为10.0f
。
访问函数
float | minCameraZoomLevel() |
void | setMinCameraZoomLevel(float level) |
通知信号
void | minCameraZoomLevelChanged(float zoomLevel) |
另请参阅cameraZoomLevel和maxCameraZoomLevel。
msaaSamples : int
此属性包含在MSAA中使用的样本数。
将使用的MSAA样本数设置为samples。样本数可以是0、2、4或8。
访问函数
int | msaaSamples() const |
void | setMsaaSamples(int samples) |
通知信号
void | msaaSamplesChanged(int samples) |
optimizationHint : QAbstract3DGraph::OptimizationHint
此属性包含是否使用默认模式、静态模式或传统模式进行渲染优化。
默认模式使用实例化渲染,并在大多数系统上提供最佳性能水平下的完整功能集。静态模式优化图形渲染,非常适合大型不更改的数据集。对于动态数据和项目旋转的更改,速度较慢。选择未进行优化,因此不建议与大量数据集一起使用静态模式。静态优化仅在散点图中有效。传统模式单独渲染图中所有项目,不使用实例化。仅在默认模式不起作用时(即目标系统不支持实例化)才应使用。默认为默认。
注意:在某些环境中,使用静态优化的大型图形可能无法渲染,因为所有项目都使用单个绘制调用进行渲染,不同的图形驱动程序支持每个调用中不同的最大顶点数。这主要是在32位和OpenGL ES2平台上出现的问题。为了绕过这个问题,请选择具有低顶点数的项目网格或使用点网格。
访问函数
QAbstract3DGraph::OptimizationHint | optimizationHint() const |
void | setOptimizationHint(QAbstract3DGraph::OptimizationHint hint) |
通知信号
void | optimizationHintChanged(QAbstract3DGraph::OptimizationHint hint) |
orthoProjection : bool
此属性包含是否使用正交投影显示图形。
默认为false
。
注意:设置为true
时将禁用阴影。
访问函数
bool | isOrthoProjection() const |
void | setOrthoProjection(bool enable) |
通知信号
void | orthoProjectionChanged(bool enabled) |
另请参阅QAbstract3DAxis::labelAutoRotation。
polar : bool
此属性包含是否将水平轴更改成极坐标轴。
如果true
,x轴变为角度轴,z轴变为径向轴。极坐标模式不适合条形图。
默认为false
。
访问函数
bool | isPolar() const |
void | setPolar(bool enable) |
通知信号
void | polarChanged(bool enabled) |
另请参阅orthoProjection和radialLabelOffset。
[只读]
queriedGraphPosition : const QVector3D
此属性存储沿着每个轴的最新已查询的图位置值。
此只读属性包含 Q3DScene::graphPositionQuery 的结果。数值已归一化到 [-1, 1]
范围内。如果查询的位置超出图边界,则值将不会反映实际位置,而将指示范围外未定义的位置 [-1, 1]
之外。直到进行查询,该值将未定义。
没有单个正确的 3D 坐标与特定的屏幕位置相匹配,因此为了保持一致,查询始终针对围绕图的不可见盒子的内侧进行。
注意:条形图仅允许在图地板级别查询图位置,因此条形图的 y 值始终为零,并且只能在包含图地板的屏幕位置处进行有效查询。
访问函数
QVector3D | queriedGraphPosition() const |
通知信号
void | queriedGraphPositionChanged(const QVector3D &data) |
另请参阅Q3DScene::graphPositionQuery.
radialLabelOffset : float
此属性存储径向极坐标轴标签的归一化水平偏移量。
值 0.0
表示标签应该绘制在 0 度角度轴向网格线的旁边。值 1.0
表示标签在图背景边缘的正常位置处绘制。默认为 1.0
。
如果 polar 属性值为 false
,则忽略此属性。
访问函数
float | radialLabelOffset() const |
void | setRadialLabelOffset(float offset) |
通知信号
void | radialLabelOffsetChanged(float offset) |
另请参阅polar.
[只读]
scene : Q3DScene* const
此属性存储可以用来操作场景和访问场景元素的 Q3DScene 指针。
此属性为只读。
访问函数
Q3DScene * | scene() const |
[只读]
selectedElement : const QAbstract3DGraph::ElementType
此属性存储图中选中的元素。
可以使用此属性查询选中的元素类型。类型在新选定的元素和 selectedElementChanged
信号发出之间有效。
可以将信号用于实现自定义输入处理等,例如在 Scatter Graph 选项卡下的 Graph Gallery 示例中演示。
访问函数
QAbstract3DGraph::ElementType | selectedElement() const |
通知信号
void | selectedElementChanged(QAbstract3DGraph::ElementType type) |
另请参阅 selectedLabelIndex(),selectedAxis(),selectedCustomItemIndex(),selectedCustomItem(),Q3DBars::selectedSeries(),Q3DScatter::selectedSeries(),Q3DSurface::selectedSeries(),以及 Q3DScene::setSelectionQueryPosition。
selectionMode : QAbstract3DGraph::SelectionFlags
项目选择模式。
是SelectionFlags的组合。默认情况下,SelectionItem
。不同的图形类型支持不同的选择模式。
访问函数
QAbstract3DGraph::SelectionFlags | selectionMode() const |
void | setSelectionMode(const QAbstract3DGraph::SelectionFlags &selectionMode) |
通知信号
void | selectionModeChanged(const QAbstract3DGraph::SelectionFlags selectionMode) |
另请参阅 SelectionFlags。
shadowQuality : QAbstract3DGraph::ShadowQuality
此属性存储阴影的质量。
是ShadowQuality枚举值之一。默认情况下,Medium
。
注意: 如果将阴影质量设置为特定级别失败,则该级别会降低,直到成功设置为止。《shadowQualityChanged》信号在每次更改时都会发出。
访问函数
QAbstract3DGraph::ShadowQuality | shadowQuality() const |
void | setShadowQuality(const QAbstract3DGraph::ShadowQuality &shadowQuality) |
通知信号
void | shadowQualityChanged(QAbstract3DGraph::ShadowQuality quality) |
另请参阅 ShadowQuality。
wrapCameraXRotation : bool
此属性存储X-旋转中的最小和最大限制的行为。
如果设置为true
,则相机的X-旋转从最小值包裹到最大值,从最大值包裹到最小值。如果设置为false
,则相机的X-旋转限制在由最小值和最大值确定的区域。默认设置为true
。
访问函数
bool | wrapCameraXRotation() |
void | setWrapCameraXRotation(bool wrap) |
通知信号
void | wrapCameraXRotationChanged(bool wrap) |
wrapCameraYRotation : bool
此属性存储Y-旋转中的最小和最大限制的行为。
如果设置为true
,则相机器的Y-旋转从最小值包裹到最大值,从最大值包裹到最小值。如果设置为false
,则相机的Y-旋转限制由最小值和最大值确定的区域。默认设置为true
。
访问函数
bool | wrapCameraYRotation() |
void | setWrapCameraYRotation(bool wrap) |
通知信号
void | wrapCameraYRotationChanged(bool wrap) |
成员函数文档
[重写虚拟 noexcept]
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)
设置相机旋转和距离的实用函数。horizontal 和 vertical 定义要使用的相机旋转。可选的 zoom 参数可以用来设置相机在由 minCameraZoomLevel 和 maxCameraZoomLevel 属性定义的边界内缩放百分比。
QList<Q3DTheme *> QAbstract3DGraph::themes() const
返回所有添加的主题列表。
另请参阅:addTheme().
相关非成员
QSurfaceFormat qDefaultSurfaceFormat(bool antialias)
此便利函数可用于创建适合 Qt 图表使用的自定义表面格式的函数。
antialias 参数指定是否启用抗锯齿。
在调用 show()
之前,将此函数返回的表面格式传递给图构造函数(C++)或将其设置为 QQuickView(QML)的窗口格式。
例如,在 C++ 应用程序中禁用抗锯齿
例如,在 QML 应用程序中启用直接渲染模式的抗锯齿
#include <QtGraphs/qutils.h> // ... QQuickView viewer; viewer.setFormat(qDefaultSurfaceFormat(true));
© 2024 Qt 公司有限公司。本文件中包含的文档贡献是各自所有者的版权。本文件的文档是根据自由软件基金会发布的 GNU 自由文档许可版本 1.3 许可的。Qt 和 respective logos 是芬兰和其他国家/地区的 The Qt Company Ltd. 的商标。所有其他商标均为各自所有者的财产。