QAbstract3DGraph Class
QAbstract3DGraph 类为图提供了窗口和渲染循环。更多内容...
| 头文件: | #include <QAbstract3DGraph> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake: | QT += datavisualization |
| 自: | QtDataVisualization 1.0 |
| 继承自: | QWindow 以及QOpenGLFunctions (受保护) |
| 被继承类: | |
| 状态: | 已弃用 |
该类已弃用。我们强烈建议不要在新代码中使用它。
公共类型
(since QtDataVisualization 1.1) enum | ElementType { ElementNone, ElementSeries, ElementAxisXLabel, ElementAxisYLabel, ElementAxisZLabel, ElementCustomItem } |
(since Qt Data Visualization 1.1) enum | OptimizationHint { OptimizationDefault, OptimizationStatic } |
| flags | OptimizationHints |
| enum | SelectionFlag { SelectionNone, SelectionItem, SelectionRow, SelectionItemAndRow, SelectionColumn, …, SelectionMultiSeries } |
| flags | SelectionFlags |
| enum | ShadowQuality { ShadowQualityNone, ShadowQualityLow, ShadowQualityMedium, ShadowQualityHigh, ShadowQualitySoftLow, …, ShadowQualitySoftHigh } |
属性
|
|
公共函数
| virtual | ~QAbstract3DGraph() |
| QAbstract3DInputHandler * | activeInputHandler() const |
| Q3DTheme * | activeTheme() const |
(since QtDataVisualization 1.1) int | addCustomItem(QCustom3DItem *item) |
| void | addInputHandler(QAbstract3DInputHandler *inputHandler) |
| void | addTheme(Q3DTheme *theme) |
| qreal | aspectRatio() const |
| void | clearSelection() |
| qreal | currentFps() const |
(since QtDataVisualization 1.2) QList<QCustom3DItem *> | customItems() const |
| bool | hasContext() const |
(since 6.3) bool | hasSeries(QAbstract3DSeries *series) const |
| qreal | horizontalAspectRatio() const |
| QList<QAbstract3DInputHandler *> | inputHandlers() const |
| bool | isOrthoProjection() const |
| bool | isPolar() const |
| bool | isReflection() const |
| QLocale | locale() const |
| qreal | margin() const |
| bool | measureFps() const |
| QAbstract3DGraph::OptimizationHints | optimizationHints() const |
| QVector3D | queriedGraphPosition() const |
| float | radialLabelOffset() const |
| qreal | reflectivity() const |
(since QtDataVisualization 1.1) void | releaseCustomItem(QCustom3DItem *item) |
| void | releaseInputHandler(QAbstract3DInputHandler *inputHandler) |
| void | releaseTheme(Q3DTheme *theme) |
(since QtDataVisualization 1.1) void | removeCustomItem(QCustom3DItem *item) |
(since QtDataVisualization 1.1) void | removeCustomItemAt(const QVector3D &position) |
(since QtDataVisualization 1.1) void | removeCustomItems() |
(since QtDataVisualization 1.1) QImage | renderToImage(int msaaSamples = 0, const QSize &imageSize = QSize()) |
| Q3DScene * | scene() const |
(since QtDataVisualization 1.1) QAbstract3DAxis * | selectedAxis() const |
(since QtDataVisualization 1.1) QCustom3DItem * | selectedCustomItem() const |
(since QtDataVisualization 1.1) int | selectedCustomItemIndex() const |
| QAbstract3DGraph::ElementType | selectedElement() const |
(since QtDataVisualization 1.1) int | selectedLabelIndex() const |
| QAbstract3DGraph::SelectionFlags | selectionMode() const |
| void | setActiveInputHandler(QAbstract3DInputHandler *inputHandler) |
| void | setActiveTheme(Q3DTheme *theme) |
| void | setAspectRatio(qreal ratio) |
| void | setHorizontalAspectRatio(qreal ratio) |
| void | setLocale(const QLocale &locale) |
| void | setMargin(qreal margin) |
| void | setMeasureFps(bool enable) |
| void | setOptimizationHints(QAbstract3DGraph::OptimizationHints hints) |
| void | setOrthoProjection(bool enable) |
| void | setPolar(bool enable) |
| void | setRadialLabelOffset(float offset) |
| void | setReflection(bool enable) |
| void | setReflectivity(qreal reflectivity) |
| void | setSelectionMode(QAbstract3DGraph::SelectionFlags mode) |
| void | setShadowQuality(QAbstract3DGraph::ShadowQuality quality) |
| QAbstract3DGraph::ShadowQuality | shadowQuality() const |
| virtual bool | shadowsSupported() const |
| QList<Q3DTheme *> | themes() const |
信号
| void | activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler) |
| void | activeThemeChanged(Q3DTheme *theme) |
| void | aspectRatioChanged(qreal ratio) |
| void | currentFpsChanged(qreal fps) |
| void | horizontalAspectRatioChanged(qreal ratio) |
| void | localeChanged(const QLocale &locale) |
| void | marginChanged(qreal margin) |
| void | measureFpsChanged(bool enabled) |
| void | optimizationHintsChanged(QAbstract3DGraph::OptimizationHints hints) |
| void | orthoProjectionChanged(bool enabled) |
| void | polarChanged(bool enabled) |
| void | queriedGraphPositionChanged(const QVector3D &data) |
| void | radialLabelOffsetChanged(float offset) |
| void | reflectionChanged(bool enabled) |
| void | reflectivityChanged(qreal reflectivity) |
| void | selectedElementChanged(QAbstract3DGraph::ElementType type) |
| void | selectionModeChanged(QAbstract3DGraph::SelectionFlags mode) |
| void | shadowQualityChanged(QAbstract3DGraph::ShadowQuality quality) |
相关的非成员
| QSurfaceFormat | qDefaultSurfaceFormat(bool antialias) |
详细说明
该类是QWindow 的子类,并为继承该类的图形提供渲染循环。
您通常无需直接使用该类,而应使用其子类之一。
在 C++ 中,抗锯齿功能默认处于启用状态,但 OpenGL ES2 环境除外,因为Qt Data Visualization 不支持抗锯齿。若要为图形指定非默认的抗锯齿设置,请将自定义表面格式作为构造函数参数传入。您可以使用便捷函数qDefaultSurfaceFormat() 来创建表面格式对象。
注意:QAbstract3DGraph 默认启用窗口标志Qt::FramelessWindowHint 。若要将图窗口显示为带有常规窗口边框的独立窗口,请在构建图后清除此标志。例如:
另请参阅 Q3DBars 、Q3DScatter 、Q3DSurface 以及 Qt Data Visualization C++ Classes。
成员类型文档
[since QtDataVisualization 1.1] enum QAbstract3DGraph::ElementType
图中元素的类型。
| 常量 | 值 | 描述 |
|---|---|---|
QAbstract3DGraph::ElementNone | 0 | 未定义的元素。 |
QAbstract3DGraph::ElementSeries | 1 | 一个序列(即序列中的一个项目)。 |
QAbstract3DGraph::ElementAxisXLabel | 2 | x 轴标签。 |
QAbstract3DGraph::ElementAxisYLabel | 3 | y 轴标签。 |
QAbstract3DGraph::ElementAxisZLabel | 4 | z 轴标签。 |
QAbstract3DGraph::ElementCustomItem | 5 | 自定义项目。 |
该枚举类型在 QtDataVisualization 1.1 中引入。
[since Qt Data Visualization 1.1] enum QAbstract3DGraph::OptimizationHint
flags QAbstract3DGraph::OptimizationHints
渲染的优化提示。
| 常量 | 值 | 描述 |
|---|---|---|
QAbstract3DGraph::OptimizationDefault | 0 | 在合理的性能下提供完整的功能集。 |
QAbstract3DGraph::OptimizationStatic | 1 | 以牺牲部分功能为代价,优化静态数据集的渲染。 |
该枚举在Qt Data Visualization 1.1中引入。
OptimizationHints 类型是QFlags<OptimizationHint> 的 typedef。它存储 OptimizationHint 值的“或”组合。
enum QAbstract3DGraph::SelectionFlag
flags QAbstract3DGraph::SelectionFlags
项目选择模式。该枚举的值可以与“或”运算符组合使用。
| 常量 | 值 | 描述 |
|---|---|---|
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 | 设置此模式意味着同一位置的所有系列中的项目都会被高亮显示,而不仅仅是所选项目。其他系列中的实际选择不会发生变化。设置此模式标志时,还必须设置一个或多个基本选择标志(SelectionItem 、SelectionRow 或SelectionColumn )。Q3DScatter 不支持多系列选择。 |
SelectionFlags 类型是QFlags<SelectionFlag> 的 typedef。它存储 SelectionFlag 值的按“或”运算组合。
enum QAbstract3DGraph::ShadowQuality
阴影的质量。
| 常量 | 值 | 说明 |
|---|---|---|
QAbstract3DGraph::ShadowQualityNone | 0 | 禁用阴影。 |
QAbstract3DGraph::ShadowQualityLow | 1 | 以低质量渲染阴影。 |
QAbstract3DGraph::ShadowQualityMedium | 2 | 以中等质量渲染阴影。 |
QAbstract3DGraph::ShadowQualityHigh | 3 | 以高质量渲染阴影。 |
QAbstract3DGraph::ShadowQualitySoftLow | 4 | 阴影以低质量渲染,边缘经过柔化。 |
QAbstract3DGraph::ShadowQualitySoftMedium | 5 | 阴影以中等质量渲染,边缘经过柔化。 |
QAbstract3DGraph::ShadowQualitySoftHigh | 6 | 阴影以高质量渲染,边缘经过柔化处理。 |
属性文档
activeInputHandler : QAbstract3DInputHandler*
该属性存储图中使用的活动输入处理程序。
访问函数:
| QAbstract3DInputHandler * | activeInputHandler() const |
| void | setActiveInputHandler(QAbstract3DInputHandler *inputHandler) |
通知信号:
| void | activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler) |
activeTheme : Q3DTheme*
该属性保存图的当前主题。
访问函数:
| Q3DTheme * | activeTheme() const |
| void | setActiveTheme(Q3DTheme *theme) |
通知信号:
| void | activeThemeChanged(Q3DTheme *theme) |
[since QtDataVisualization 1.1] aspectRatio : qreal
该属性存储了图形中水平面上的最长轴与 y 轴之间的缩放比例。
默认值为2.0 。
注意: 对 Q3DBars 没有影响。
该枚举在 QtDataVisualization 1.1 中引入。
访问函数:
| qreal | aspectRatio() const |
| void | setAspectRatio(qreal ratio) |
通知信号:
| void | aspectRatioChanged(qreal ratio) |
另请参阅 horizontalAspectRatio 。
[read-only, since QtDataVisualization 1.1] currentFps : qreal
该属性保存了过去一秒内的渲染结果。
当启用帧率(FPS)测量时,结果将存储在此只读属性中。在测量激活后,该值至少需要一秒钟才会更新。
该枚举在 QtDataVisualization 1.1 中引入。
访问函数:
| qreal | currentFps() const |
通知信号:
| void | currentFpsChanged(qreal fps) |
另请参阅 measureFps 。
[since QtDataVisualization 1.2] horizontalAspectRatio : qreal
该属性存储了图形中 x 轴与 z 轴之间的缩放比例。
0.0 的值表示根据坐标轴范围自动缩放。默认值为0.0 。
此属性对 Q3DBars 无效,因为 Q3DBars 通过barThickness 和barSpacing 属性处理水平方向的缩放。极坐标图也会忽略此属性。
该枚举在 QtDataVisualization 1.2 中引入。
访问函数:
| qreal | horizontalAspectRatio() const |
| void | setHorizontalAspectRatio(qreal ratio) |
通知器信号:
| void | horizontalAspectRatioChanged(qreal ratio) |
另请参阅 aspectRatio 、polar 、Q3DBars::barThickness 以及Q3DBars::barSpacing 。
[since QtDataVisualization 1.2] locale : QLocale
此属性用于存储用于格式化各种数字标签的区域设置。
默认值为"C" 区域设置。
该枚举在 QtDataVisualization 1.2 中引入。
访问函数:
| QLocale | locale() const |
| void | setLocale(const QLocale &locale) |
通知信号:
| void | localeChanged(const QLocale &locale) |
另请参阅 QValue3DAxis::labelFormat 。
[since QtDataVisualization 1.2] margin : qreal
该属性存储用于确定可绘制图形区域边缘与图形背景边缘之间间距的绝对值。
如果边距值为负数,则边距将自动确定,并可能根据系列中数据点的大小和图表类型而变化。如果图表的纵横比未从默认值进行更改,则该值将被解释为 y 轴范围的百分比。默认值为-1.0 。
注意:如果 为散点图设置的 边距小于自动确定的边距,可能会导致图表边缘处的散点与图表背景重叠。
注意:在 散点图和表面图中 ,如果边距相对于坐标轴标签的大小较小,则会调整坐标轴边缘标签的位置,以避免与相邻坐标轴的边缘标签发生重叠。
此枚举类型在 QtDataVisualization 1.2 中引入。
访问函数:
| qreal | margin() const |
| void | setMargin(qreal margin) |
通知器信号:
| void | marginChanged(qreal margin) |
[since QtDataVisualization 1.1] measureFps : bool
该属性控制渲染是持续进行还是按需进行。
如果true ,则渲染为连续进行,且currentFps 属性的值会随之更新。默认值为false 。
该枚举在 QtDataVisualization 1.1 中引入。
访问函数:
| bool | measureFps() const |
| void | setMeasureFps(bool enable) |
通知器信号:
| void | measureFpsChanged(bool enabled) |
另请参阅 currentFps 。
optimizationHints : OptimizationHints
无论使用默认模式还是静态模式进行渲染优化,此属性均有效。
默认模式在保持合理性能水平的同时提供完整的功能集。静态模式可优化图表渲染,非常适合大型且数据不变的数据集。但在数据动态变化和项目旋转时,其运行速度会变慢。由于未对选择操作进行优化,因此不建议在海量数据集上使用静态模式。 静态优化仅适用于散点图。默认值为OptimizationDefault 。
注意:在 某些环境下 ,使用静态优化的庞大图表可能无法渲染,因为所有项目均通过单次绘制调用进行渲染,而不同的图形驱动程序对每次调用支持的最大顶点数各不相同。此问题主要出现在 32 位和 OpenGL ES2 平台上。 要解决此问题,请选择顶点数较低的对象网格,或使用点网格。
访问函数:
| QAbstract3DGraph::OptimizationHints | optimizationHints() const |
| void | setOptimizationHints(QAbstract3DGraph::OptimizationHints hints) |
通知器信号:
| void | optimizationHintsChanged(QAbstract3DGraph::OptimizationHints hints) |
另请参阅 QAbstract3DSeries::mesh 。
[since QtDataVisualization 1.1] orthoProjection : bool
该属性用于指定是否使用正射投影来显示图形。
默认值为false 。
注意: 当设置为true 时,阴影 将被禁用。
该枚举在 QtDataVisualization 1.1 中引入。
访问函数:
| bool | isOrthoProjection() const |
| void | setOrthoProjection(bool enable) |
通知信号:
| void | orthoProjectionChanged(bool enabled) |
另请参阅 QAbstract3DAxis::labelAutoRotation 和Q3DCamera::cameraPreset 。
[since QtDataVisualization 1.2] polar : bool
无论水平坐标轴是否转换为极坐标轴,此属性均保持不变。
如果true ,则x轴变为角度轴,z轴变为半径轴。条形图不支持极坐标模式。
默认值为false 。
该枚举在 QtDataVisualization 1.2 中引入。
访问函数:
| bool | isPolar() const |
| void | setPolar(bool enable) |
通知器信号:
| void | polarChanged(bool enabled) |
另请参阅 orthoProjection 和radialLabelOffset 。
[read-only, since QtDataVisualization 1.2] queriedGraphPosition : QVector3D
该属性存储了沿每个轴查询到的最新图位置值。
此只读属性包含Q3DScene::graphPositionQuery 的查询结果。这些值已归一化至[-1, 1] 的范围。如果查询的位置超出图表边界,这些值将不会反映实际位置,而是指示[-1, 1] 范围之外的未定义位置。在进行查询之前,该值将保持未定义状态。
由于没有单一正确的 3D 坐标能与特定的屏幕位置完全对应,因此为了保持一致性,查询始终针对包围图表的不可见框体的内侧进行。
注意:条形图 仅允许在图表底边高度处查询位置,因此条形图的 y 值始终为零,且有效查询只能在包含图表底边的屏幕位置进行。
该枚举在 QtDataVisualization 1.2 中引入。
访问函数:
| QVector3D | queriedGraphPosition() const |
通知器信号:
| void | queriedGraphPositionChanged(const QVector3D &data) |
另请参阅 Q3DScene::graphPositionQuery 。
[since QtDataVisualization 1.2] radialLabelOffset : float
该属性存储径向极坐标轴上轴标注的归一化水平偏移量。
值0.0 表示标签应绘制在 0 角度的角轴网格线旁。值1.0 表示标签应绘制在图表背景边缘的常规位置。默认值为1.0 。
如果polar 属性值为false ,则该属性将被忽略。
该枚举在 QtDataVisualization 1.2 中引入。
访问函数:
| float | radialLabelOffset() const |
| void | setRadialLabelOffset(float offset) |
通知信号:
| void | radialLabelOffsetChanged(float offset) |
另请参阅 polar 。
[since QtDataVisualization 1.2] reflection : bool
该属性用于控制地面反射是否启用。
默认值为false 。
仅影响 Q3DBars。但在同时包含正值和负值的 Q3DBars 图表中,对于与地板平面相交的自定义项目,不支持反射效果。这种情况下,应关闭反射功能以避免渲染错误。
如果使用自定义表面格式,则需要定义模板缓冲区(QSurfaceFormat::setStencilBufferSize()),才能使反射功能正常工作。
此枚举在 QtDataVisualization 1.2 中引入。
访问函数:
| bool | isReflection() const |
| void | setReflection(bool enable) |
通知器信号:
| void | reflectionChanged(bool enabled) |
另请参阅 reflectivity 。
[since QtDataVisualization 1.2] reflectivity : qreal
地板反射率。
数值越大,地板的反射性越强。有效范围为[0...1] 。默认值为0.5 。
注意: 仅影响 Q3DBars。
该枚举在 QtDataVisualization 1.2 中引入。
访问函数:
| qreal | reflectivity() const |
| void | setReflectivity(qreal reflectivity) |
通知信号:
| void | reflectivityChanged(qreal reflectivity) |
另请参阅 reflection 。
[read-only] scene : Q3DScene*
该属性存储了一个 Q3DScene 指针,可用于操作场景并访问场景元素,例如活动摄像机。
该属性为只读。
访问函数:
| Q3DScene * | scene() const |
[read-only, since QtDataVisualization 1.1] selectedElement : ElementType
该属性保存图中选中的元素。
该属性可用于查询所选元素的类型。该类型在图形中进行新选择并触发selectedElementChanged 信号之前一直有效。
该信号可用于实现自定义输入处理程序,如“Scatter Graph ”选项卡下的“Graph Gallery”示例中所示。
该枚举类型在 QtDataVisualization 1.1 中引入。
访问函数:
| QAbstract3DGraph::ElementType | selectedElement() const |
通知器信号:
| void | selectedElementChanged(QAbstract3DGraph::ElementType type) |
另请参阅 selectedLabelIndex()、selectedAxis()、selectedCustomItemIndex()、selectedCustomItem()、Q3DBars::selectedSeries()、Q3DScatter::selectedSeries()、Q3DSurface::selectedSeries() 以及Q3DScene::setSelectionQueryPosition()。
selectionMode : SelectionFlags
项目选择模式。
SelectionFlags 的组合。默认情况下,SelectionItem 。不同的图类型支持不同的选择模式。
访问函数:
| QAbstract3DGraph::SelectionFlags | selectionMode() const |
| void | setSelectionMode(QAbstract3DGraph::SelectionFlags mode) |
通知信号:
| void | selectionModeChanged(QAbstract3DGraph::SelectionFlags mode) |
另请参阅 SelectionFlags 。
shadowQuality : ShadowQuality
该属性控制阴影的质量。
ShadowQuality 枚举值之一。默认值为ShadowQualityMedium 。
注意:如果 将阴影质量设置为某个级别失败,则会降低该级别,直到成功设置为止。每次发生更改时,都会发出shadowQualityChanged 信号。
访问函数:
| QAbstract3DGraph::ShadowQuality | shadowQuality() const |
| void | setShadowQuality(QAbstract3DGraph::ShadowQuality quality) |
通知信号:
| void | shadowQualityChanged(QAbstract3DGraph::ShadowQuality quality) |
另请参阅 ShadowQuality 。
成员函数文档
[virtual noexcept] QAbstract3DGraph::~QAbstract3DGraph()
销毁QAbstract3DGraph 。
[since QtDataVisualization 1.1] int QAbstract3DGraph::addCustomItem(QCustom3DItem *item)
将一个 QCustom3DItemitem 添加到图形中。图形将拥有该添加项的所有权。
如果添加操作成功,则返回所添加项的索引;如果尝试添加空项,则返回 -1;如果尝试添加已存在的项,则返回该项的索引。
项将按插入顺序进行渲染。当存在实心和透明项时,需考虑渲染顺序。
该函数在 QtDataVisualization 1.1 中引入。
另请参阅 removeCustomItems()、removeCustomItem()、removeCustomItemAt() 以及customItems()。
void QAbstract3DGraph::addInputHandler(QAbstract3DInputHandler *inputHandler)
将给定的inputHandler 添加到图中。通过addInputHandler添加的输入处理程序不会被直接使用。仅将inputHandler 的所有权移交给图。inputHandler 不能为null,也不能已被添加到另一个图中。
另请参阅 releaseInputHandler() 和setActiveInputHandler()。
void QAbstract3DGraph::addTheme(Q3DTheme *theme)
将给定的theme 添加到图中。通过addTheme添加的主题不会被直接采用。仅将该主题的所有权赋予该图。theme 不能为null,也不能已被添加到另一个图中。
另请参阅 releaseTheme() 和setActiveTheme()。
void QAbstract3DGraph::clearSelection()
清除所有关联系列中的选中项。
[since QtDataVisualization 1.2] QList<QCustom3DItem *> QAbstract3DGraph::customItems() const
返回所有已添加的自定义项的列表。
该函数在 QtDataVisualization 1.2 版本中引入。
另请参阅 addCustomItem()。
bool QAbstract3DGraph::hasContext() const
如果图形的 OpenGL 上下文已成功初始化,则返回 `true `。如果上下文初始化失败,尝试使用该图形通常会导致程序崩溃。上下文初始化失败的一个常见原因是平台对 OpenGL 的支持不足。
[since 6.3] bool QAbstract3DGraph::hasSeries(QAbstract3DSeries *series) const
返回series 是否已添加到图中。
该函数于 Qt 6.3 中引入。
QList<QAbstract3DInputHandler *> QAbstract3DGraph::inputHandlers() const
返回所有已添加的输入处理程序的列表。
另请参阅 addInputHandler()。
[since QtDataVisualization 1.1] void QAbstract3DGraph::releaseCustomItem(QCustom3DItem *item)
获取指定item 的所有权,并将item 从图中移除。
注意:如果 将同一项重新添加到图形中,则需要重新设置纹理或纹理文件。
此函数在 QtDataVisualization 1.1 中引入。
另请参见 QCustom3DItem::setTextureImage() 和QCustom3DItem::setTextureFile()。
void QAbstract3DGraph::releaseInputHandler(QAbstract3DInputHandler *inputHandler)
如果该inputHandler 已被添加到此图中,则将其所有权交还给调用方。如果被释放的inputHandler 正在被使用,则此调用之后将不再有任何输入处理程序处于活动状态。
如果默认输入处理程序被释放后又重新添加,其行为将与其他输入处理程序无异。
另请参阅 addInputHandler() 和setActiveInputHandler()。
void QAbstract3DGraph::releaseTheme(Q3DTheme *theme)
如果该theme 已被添加到此图中,则将其所有权交还给调用方。如果被释放的theme 正在被使用,系统将创建一个新的默认主题并将其设为活动状态。
如果默认主题被释放后又重新添加,其行为将与其他主题无异。
另请参阅 addTheme() 和setActiveTheme()。
[since QtDataVisualization 1.1] void QAbstract3DGraph::removeCustomItem(QCustom3DItem *item)
移除自定义的item 。删除分配给它的资源。
该函数首次出现在 QtDataVisualization 1.1 中。
[since QtDataVisualization 1.1] void QAbstract3DGraph::removeCustomItemAt(const QVector3D &position)
删除位于position 的所有自定义项。并释放分配给这些项的资源。
该函数自 QtDataVisualization 1.1 起引入。
[since QtDataVisualization 1.1] void QAbstract3DGraph::removeCustomItems()
删除所有自定义项。释放分配给它们的资源。
该函数于 QtDataVisualization 1.1 版本中引入。
[since QtDataVisualization 1.1] QImage QAbstract3DGraph::renderToImage(int msaaSamples = 0, const QSize &imageSize = QSize())
将当前帧渲染为imageSize 格式的图像。默认大小为窗口大小。图像的渲染将采用msaaSamples 中指定的抗锯齿级别。默认级别为0 。
返回渲染后的图像。
注意:OpenGL ES2 不支持抗锯齿,因此msaaSamples 始终被强制设置为0 。
该函数在 QtDataVisualization 1.1 中引入。
[since QtDataVisualization 1.1] QAbstract3DAxis *QAbstract3DGraph::selectedAxis() const
可用于在接收到selectedElementChanged 信号(无论标签类型为何)后获取所选轴。该选择在收到下一个selectedElementChanged 信号之前一直有效。
返回所选轴的指针,或 null。
该函数在 QtDataVisualization 1.1 中引入。
另请参阅 selectedElement 。
[since QtDataVisualization 1.1] QCustom3DItem *QAbstract3DGraph::selectedCustomItem() const
可在接收到类型为QAbstract3DGraph::ElementCustomItem 的selectedElementChanged 信号后,用于获取所选的自定义项。该项的所有权仍归图所有。选中状态有效直至下一个selectedElementChanged 信号触发。
返回所选自定义项的指针,或 null。
该函数在 QtDataVisualization 1.1 中引入。
另请参阅 selectedElement 。
[since QtDataVisualization 1.1] int QAbstract3DGraph::selectedCustomItemIndex() const
可在接收到类型为QAbstract3DGraph::ElementCustomItem 的selectedElementChanged 信号后,用于查询所选自定义项的索引。该选择在收到下一个selectedElementChanged 信号之前一直有效。
返回所选自定义项的索引,或 -1。
该函数在 QtDataVisualization 1.1 中引入。
另请参阅 selectedElement 。
[since QtDataVisualization 1.1] int QAbstract3DGraph::selectedLabelIndex() const
可在接收到selectedElementChanged 信号后,用于查询所选标签的索引,支持任意标签类型。该选择在收到下一个selectedElementChanged 信号之前一直有效。
返回所选标签的索引,或 -1。
该函数在 QtDataVisualization 1.1 中引入。
另请参阅 selectedElement 。
void QAbstract3DGraph::setActiveInputHandler(QAbstract3DInputHandler *inputHandler)
将inputHandler 设置为图中使用的活动输入处理程序。会隐式调用addInputHandler(),将inputHandler 的所有权转移给该图。
如果inputHandler 为 null,则调用此方法后将没有活跃的输入处理程序。
注意: 这是属性activeInputHandler 的设置 函数。
另请参阅 activeInputHandler()、addInputHandler() 和releaseInputHandler()。
void QAbstract3DGraph::setActiveTheme(Q3DTheme *theme)
将theme 设置为图所使用的活动主题。会隐式调用addTheme(),将该主题的所有权转移给此图。
如果theme 为 null,则会创建一个临时默认主题。如果后续显式设置了任何主题,该临时主题将被销毁。即使在设置主题后,仍可修改其属性,且修改会立即生效。
注意: 属性activeTheme 的设置 函数。
另请参阅 activeTheme()。
[virtual] bool QAbstract3DGraph::shadowsSupported() const
如果当前配置支持阴影,则返回true 。OpenGL ES2 配置不支持阴影。
QList<Q3DTheme *> QAbstract3DGraph::themes() const
返回所有已添加主题的列表。
另请参阅 ` addTheme()`。
相关非成员
QSurfaceFormat qDefaultSurfaceFormat(bool antialias)
此便捷函数可用于创建适合Qt Data Visualization 图形使用的自定义表面格式。
antialias 参数用于指定是否启用抗锯齿。
在调用show() 之前,请将此函数返回的表面格式传递给图形构造函数(C++),或将其设置为QQuickView 的窗口格式(QML)。
例如,在 C++ 应用程序中禁用抗锯齿:
#include <QtDataVisualization/qutils.h>
// ...
Q3DBars *graph = new Q3DBars(qDefaultSurfaceFormat(false));例如,在 QML 应用程序中为直接渲染模式启用抗锯齿:
#include <QtDataVisualization/qutils.h>
// ...
QQuickView viewer;
viewer.setFormat(qDefaultSurfaceFormat(true));注意: OpenGL ES2 环境不支持抗锯齿 。
© 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.