QAbstract3DGraph Class
QAbstract3DGraph 类为图形提供窗口和渲染循环。更多
Header: | #include <QAbstract3DGraph> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
qmake: | QT += datavisualization |
自 | QtDataVisualization 1.0 |
继承于 | QWindow 和QOpenGLFunctions (protected) |
继承于 |
公共类型
(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]
枚举 QAbstract3DGraph::OptimizationHint
flags QAbstract3DGraph::OptimizationHints
渲染的优化提示。
常量 | 值 | 描述 |
---|---|---|
QAbstract3DGraph::OptimizationDefault | 0 | 以合理的性能提供完整的功能集。 |
QAbstract3DGraph::OptimizationStatic | 1 | 优化静态数据集的渲染,但会牺牲部分功能。 |
该枚举在Qt Data Visualization 1.1 中引入。
OptimizationHints 类型是QFlags<OptimizationHint> 的类型定义。它存储 OptimizationHint 值的 OR 组合。
枚举 QAbstract3DGraph::SelectionFlag
flags 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 | 设置该模式意味着同一位置的所有系列的项目都会突出显示,而不仅仅是选中的项目。其他系列中的实际选择不会改变。设置该模式标记时,必须同时设置一个或多个基本选择标记(SelectionItem ,SelectionRow , 或SelectionColumn )。Q3DScatter 不支持多系列选择。 |
SelectionFlags 类型是QFlags<SelectionFlag> 的类型定义。它存储 SelectionFlag 值的 OR 组合。
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) |
Notifier 信号:
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) |
Notifier 信号:
void | aspectRatioChanged(qreal ratio) |
另请参阅 horizontalAspectRatio 。
[read-only, since QtDataVisualization 1.1]
currentFps : const qreal
该属性保存最后一秒的渲染结果。
启用 FPS 测量后,结果将存储在此只读属性中。测量激活后,至少需要一秒钟才能更新此值。
此属性在 QtDataVisualization 1.1 中引入。
访问功能:
qreal | currentFps() const |
Notifier 信号:
void | currentFpsChanged(qreal fps) |
另请参阅 measureFps 。
[since QtDataVisualization 1.2]
horizontalAspectRatio : qreal
该属性表示 x 轴和 z 轴之间的图形缩放比例。
0.0
表示根据坐标轴范围自动缩放。默认值为0.0
。
对Q3DBars 没有影响,它通过barThickness 和barSpacing 属性处理水平面的缩放。极坐标图也忽略此属性。
此属性在 QtDataVisualization 1.2 中引入。
访问功能:
qreal | horizontalAspectRatio() const |
void | setHorizontalAspectRatio(qreal ratio) |
Notifier 信号:
void | horizontalAspectRatioChanged(qreal ratio) |
另请参见 aspectRatio,polar,Q3DBars::barThickness, 和Q3DBars::barSpacing 。
[since QtDataVisualization 1.2]
locale : QLocale
该属性包含用于格式化各种数字标签的本地语言。
默认为"C"
locale。
此属性在 QtDataVisualization 1.2 中引入。
访问函数:
QLocale | locale() const |
void | setLocale(const QLocale &locale) |
Notifier 信号:
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) |
Notifier 信号:
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) |
Notifier 信号:
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) |
Notifier 信号:
void | polarChanged(bool enabled) |
另请参阅 orthoProjection 和radialLabelOffset 。
[read-only, since QtDataVisualization 1.2]
queriedGraphPosition : const QVector3D
该属性保存沿各坐标轴最新查询的图形位置值。
此只读属性包含来自Q3DScene::graphPositionQuery 的结果。这些值已归一化为[-1, 1]
的范围。如果查询到的位置超出了图形边界,则该值将不会反映真实位置,而是表示超出[-1, 1]
范围的未定义位置。在进行查询之前,该值都是未定义的。
没有一个正确的三维坐标与特定的屏幕位置相匹配,因此为了保持一致,查询总是针对图形周围的一个不可见框的内侧进行。
注意: 条形图只允许在图形底层查询图形位置,因此条形图的 y 值始终为零,有效查询只能在包含图形底层的屏幕位置进行。
此属性在 QtDataVisualization 1.2 中引入。
访问功能:
QVector3D | queriedGraphPosition() const |
Notifier 信号:
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) |
Notifier 信号:
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) |
Notifier 信号:
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) |
Notifier 信号:
void | reflectivityChanged(qreal reflectivity) |
另请参阅 reflection 。
[read-only]
scene : Q3DScene* const
该属性保存Q3DScene 指针,可用于操作场景和访问场景元素(如活动摄像机)。
该属性为只读。
访问功能:
Q3DScene * | scene() const |
[read-only, since QtDataVisualization 1.1]
selectedElement : const ElementType
该属性用于保存图形中选定的元素。
该属性可用于查询所选元素的类型。该类型一直有效,直到在图形中做出新的选择并发出selectedElementChanged
信号。
例如,该信号可用于实现自定义输入处理程序,如Scatter Graph 标签下的图形库示例所示。
该属性在 QtDataVisualization 1.1 中引入。
访问函数:
QAbstract3DGraph::ElementType | selectedElement() const |
Notifier 信号:
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) |
Notifier 信号:
void | shadowQualityChanged(QAbstract3DGraph::ShadowQuality quality) |
另请参阅 ShadowQuality 。
成员函数文档
[virtual noexcept]
QAbstract3DGraph::~QAbstract3DGraph()
销毁QAbstract3DGraph 。
[since QtDataVisualization 1.1]
int QAbstract3DGraph::addCustomItem(QCustom3DItem *item)
向图表添加QCustom3DItem item 。图形拥有添加项的所有权。
如果添加操作成功,则返回已添加项的索引;如果试图添加一个空项,则返回-1;如果试图添加一个已添加项,则返回该项的索引。
项目将按照插入的顺序呈现。如果有实心和透明项目,则需要考虑呈现顺序。
此函数在 QtDataVisualization 1.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()
清除所有附加系列的选择。
[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
可用于在接收到selectedElementChanged
信号后获取所选的自定义项目,信号类型为QAbstract3DGraph::ElementCustomItem 。项目的所有权仍归图表所有。选择有效期至下一个selectedElementChanged
信号发出为止。
返回所选自定义项的指针或 null。
此函数在 QtDataVisualization 1.1 中引入。
另请参阅 selectedElement 。
[since QtDataVisualization 1.1]
int QAbstract3DGraph::selectedCustomItemIndex() const
在接收到selectedElementChanged
信号(类型为QAbstract3DGraph::ElementCustomItem )后,可用于查询所选自定义项的索引。选择有效期至下一个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 为空,则调用后将不会激活任何输入处理程序。
注: 属性activeInputHandler 的设置函数。
另请参阅 activeInputHandler()、addInputHandler() 和releaseInputHandler()。
void QAbstract3DGraph::setActiveTheme(Q3DTheme *theme)
将theme 设置为图表的活动主题。隐式调用addTheme() 将主题的所有权转移到此图形。
如果theme 为空,则会创建一个临时默认主题。如果以后显式设置了任何主题,该临时主题将被销毁。即使在设置主题后,也可以修改主题的属性,而且修改会立即生效。
注: 属性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 环境不支持抗锯齿。
© 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.