AbstractGraph3D QML 类型
3D 图的基类。 更多...
- 所有成员列表,包括继承成员
- AbstractGraph3D 是 Qt 图形 QML 3D 类型的一部分。
属性
- aspectRatio : real
- cameraPreset : AbstractGraph3D.CameraPreset
- cameraTargetPosition : vector3d
- cameraXRotation : float
- cameraYRotation : float
- cameraZoomLevel : float
- currentFps : int
- customItemList : list<Custom3DItem>
- horizontalAspectRatio : real
- inputHandler : AbstractInputHandler3D
- locale : locale
- margin : real
- maxCameraZoomLevel : float
- measureFps : bool
- minCameraZoomLevel : float
- msaaSamples : int
- optimizationHint : AbstractGraph3D.OptimizationHint
- orthoProjection : bool
- polar : bool
- queriedGraphPosition : vector3d
- radialLabelOffset : real
- renderingMode : AbstractGraph3D_RenderingMode
- scene : Scene3D
- selectedElement : AbstractGraph3D.ElementType
- selectionMode : AbstractGraph3D.SelectionMode
- shadowQuality : AbstractGraph3D.ShadowQuality
- theme : Theme3D
- wrapCameraXRotation : 布尔型
- wrapCameraYRotation : 布尔型
方法
- int addCustomItem(Custom3DItem item)
- void clearSelection()
- bool hasSeries(Abstract3DSeries series)
- void releaseCustomItem(Custom3DItem item)
- void removeCustomItem(Custom3DItem item)
- void removeCustomItemAt(vector3d position)
- void removeCustomItems()
- Abstract3DAxis selectedAxis()
- Custom3DItem selectedCustomItem()
- int selectedCustomItemIndex()
- int selectedLabelIndex()
详细说明
QtGraphs中所有3D图表的基本类型。
此类型无法创建,但它包含在3D图表类型之间共享的属性。
另请参阅Bars3D、Scatter3D、Surface3D和Qt Graphs C++类 3D图表。
属性说明
aspectRatio : 实数 |
cameraPreset : AbstractGraph3D.CameraPreset |
当前活动相机预设,它是AbstractGraph3D.CameraPreset中的一种。如果没有活动预设,则该值为AbstractGraph3D.CameraPreset.None
。
cameraTargetPosition : vector3d |
相机目标作为vector3d。默认为vector3d(0.0, 0.0, 0.0)
。
有效坐标值在-1.0...1.0
之间,边缘值表示对应轴范围的边缘。任何超出此范围的值将被限制在边缘。
注意:对于条形图,Y坐标被忽略,相机始终针对水平背景上的一个点。
cameraXRotation : float |
从当前基准位置开始的相机围绕目标点的X旋转角度(以度为单位)。
cameraYRotation : float |
从当前基准位置开始的相机围绕目标点的Y旋转角度(以度为单位)。
cameraZoomLevel : float |
相机缩放级别(百分比)。默认值100.0
意味着在相机中没有设置缩放或缩放。此值受< ВеликminCameraZoomLevel和<а href="qml-qtgraphs-abstractgraph3d.html#maxCameraZoomLevel-prop" translate="no">maxCameraZoomLevel属性的约束。
currentFps : int |
当启用每秒帧数测量时,存储上秒钟结果的只读属性在此处。测量激活后,至少需要一秒钟此值才会更新。
另请参阅 measureFps。
customItemList : list<Custom3DItem> |
在图表中添加的Custom3DItem项目的列表。图表将获取添加项的所有权。
horizontalAspectRatio : real |
图形在X轴和Z轴之间的缩放比例。值为 0.0
表示根据轴范围自动缩放。默认值为 0.0
。
注意: 对处理水平平面缩放Bars3D无影响,这是通过 barThickness 和 barSpacing 属性来实现的。极坐标图也忽略此属性。
另请参阅 aspectRatio,polar,Bars3D::barThickness 和 Bars3D::barSpacing。
inputHandler : AbstractInputHandler3D |
在图表中使用的活动输入处理程序。您可以通过将此属性设置为null来禁用默认输入处理程序。
locale : locale |
设置用于格式化各种数值标签的区域设置。默认为 "C"
区域设置。
另请参阅 ValueAxis3D::labelFormat。
margin : real |
用于在绘图区域边缘和图表背景边缘之间留出的空白的绝对值。
如果边缘值是负的,边缘将由系统自动确定,并且可以根据时间序列中项目的尺寸和图表类型而变化。如果图表的纵横比尚未从默认值更改,则值被解释为y轴范围的分数。默认值为 -1.0
。
注意: 将散点图的边缘边距设置为比自动确定边距小,可能导致图表边缘上的散点项与图表背景重叠。
注意: 在散点和表面图中,如果与轴标签大小相比边距较小,则调整轴线边缘标签的位置以避免与相邻轴的边缘标签重叠。
maxCameraZoomLevel : float |
设置允许的最大相机缩放级别。如果新最大级别低于现有最小级别,则将最小级别调整为新最大级别。如果当前的 cameraZoomLevel 超出新的范围,则也会做出调整。默认值为 500.0f
。
另请参阅 cameraZoomLevel 和 minCameraZoomLevel。
measureFps : bool |
如果为 true
,则渲染将连续进行,而不是按需进行,并且 currentFps 属性将更新。默认值为 false
。
另请参阅 currentFps。
minCameraZoomLevel : float |
设置允许的最小相机缩放级别。如果新的最小级别高于现有的最大级别,则最大级别也会调整为新的最小级别。如果当前的 cameraZoomLevel 超出了新的边界,它也会被调整。minCameraZoomLevel 不能低于 1.0
。默认为 10.0
。
另请参阅 cameraZoomLevel 和 maxCameraZoomLevel。
msaaSamples : int |
当 renderingMode 是 Indirect
时,用于多采样抗锯齿的样本数量。当 renderingMode 是 DirectToBackground
时,此属性值是只读的,并返回由窗口表面格式指定的样本数量。默认为 4
。
另请参阅 renderingMode。
optimizationHint : AbstractGraph3D.OptimizationHint |
是否使用默认的、静态的或遗留模式进行渲染优化。
默认模式使用实例化渲染,并在大多数系统上以最佳性能提供完整的功能集。静态模式优化图形渲染,适用于大型非变化的数据集。在处理动态数据更改和项目旋转时较慢。选择项不会被优化,因此不推荐使用静态模式与大量数据集一起使用。遗留模式单独渲染图形中的所有项目,不使用实例化。仅在默认模式无效时(即目标系统不支持实例化时)才应使用。默认为 Default。
注意: 在有些环境中,使用静态优化的大图可能无法渲染,因为所有项目都是使用单个绘制调用来渲染的,而不同的图形驱动程序支持每个调用不同的最大顶点数。这主要是在 32 位和 OpenGL ES2 平台上出现的问题。为了解决这个问题,可以选择具有低顶点数的项目网格或使用点网格。
另请参阅 Abstract3DSeries::mesh 和 QAbstract3DGraph::OptimizationHint。
orthoProjection : bool |
如果 true
,将使用正交投影来显示图形。默认为 false
。
注意: 当设置为 true
时将禁用阴影。
polar : bool |
如果 true
,水平轴将更改为极坐标轴。x 轴成为角度轴,z 轴成为径向轴。极坐标模式不适用于柱状图。
默认为 false
。
另请参阅 orthoProjection 和 radialLabelOffset。
queriedGraphPosition : vector3d |
此只读属性包含使用 Scene3D::graphPositionQuery 查询的每个轴的最新图形位置值。这些值将被归一化到范围 [-1, 1]
。如果查询的位置超出了图形边界,则值不会反映实际位置,而是将变为范围 [-1, 1]
之外的一些未定义位置。在查询之前,此值将是未定义的。
没有单一的 3D 坐标可以匹配特定的屏幕位置,因此为了保持一致,查询始终针对围绕图形的无形盒的内部边进行。
注意:柱状图只允许在图表楼面级别查询图表位置,因此柱状图的y值始终为零,只有屏幕位置包含图表楼面时才能进行有效查询。
radialLabelOffset : real |
此属性指定径向极坐标轴标签的归一化水平偏移。值 0.0
表示标签应绘制在0角度的角轴网格线旁边。值 1.0
表示标签将在图表背景边缘的常规位置绘制。如果极属性值为 false
,则忽略此属性。默认值为 1.0
。
另请参阅:polar。
renderingMode : AbstractGraph3D.RenderingMode |
图表的渲染方式。默认为 Indirect
。
常量 | 说明 |
---|---|
DirectToBackground | 指示图表将直接渲染到窗口背景,QML项将在其上绘制。如果使用非透明QML项作为背景,则将隐藏图表。在渲染图表之前清除整个窗口,包括图表外的区域。如果窗口的表面格式支持抗锯齿,则将使用它(请参阅 QtGraphs::qDefaultSurfaceFormat() )。这种渲染模式以牺牲非标准QML行为为代价提供了最佳性能。例如,图表不遵守QML项的z排序,并且不透明度值对它们没有影响。 |
Indirect | 指示图表将首先渲染到离屏表面,然后在此表面的正常QML项绘制期间绘制。如果当前环境支持多采样并msaaSamples属性值为大于零,则渲染的图像将使用多采样方法进行抗锯齿。这种渲染模式以牺牲性能为代价提供了良好的质量和正常QML项行为。 |
注意:在OpenGL ES2环境中,任何渲染模式都不支持抗锯齿。
注意:设置图表的antialiasing
属性没有任何作用。但是,如果当前渲染模式使用抗锯齿,则图表会自己设置它。
另请参阅:msaaSamples。
selectedElement : AbstractGraph3D.ElementType |
在图表中选中的元素。
可以使用此属性查询选元素类型。类型有效直到在图表中做出新的选择并且发出selectedElementChanged
信号。
此信号可用于实现自定义输入处理,例如,在Axis Handling示例中所展示。
另请参阅 selectedLabelIndex(),selectedAxis(),selectedCustomItemIndex(),selectedCustomItem(),Bars3D::selectedSeries,Scatter3D::selectedSeries,Scene3D::selectionQueryPosition,以及QAbstract3DGraph::ElementType。
selectionMode : AbstractGraph3D.SelectionMode |
图中活动选择模式。QAbstract3DGraph::SelectionFlag枚举值之一。
shadowQuality : AbstractGraph3D.ShadowQuality |
阴影的质量。QAbstract3DGraph::ShadowQuality枚举值之一。
wrapCameraXRotation : bool |
在X旋转的最小和最大限制中的行为。默认情况下,X旋转从最小值到最大值,从最大值到最小值。
如果设置为 true
,摄像机的X旋转将从最小值到最大值,从最大值到最小值进行包裹。如果设置为 false
,摄像机的X旋转将限制在由最小值和最大值确定的扇区。
wrapCameraYRotation : bool |
在Y旋转的最小和最大限制中的行为。默认情况下,Y旋转限制在最小值和最大值之间,没有包裹。
如果 true
,摄像机的Y旋转将从最小值到最大值,从最大值到最小值进行包裹。如果 false
,摄像机的Y旋转将限制在由最小值和最大值确定的扇区。
方法文档
int addCustomItem(Custom3DItem item) |
向图中添加一个 Custom3DItem item。图将获取添加项的所有权。
如果添加成功,则返回添加项的索引;如果尝试添加空项,则返回-1;如果尝试添加已添加项,则返回该项的索引。
另请参阅 removeCustomItems(),removeCustomItem(),以及removeCustomItemAt()。
void clearSelection() |
从所有附加的系列中清除选择。
bool hasSeries(Abstract3DSeries series) |
返回series是否已添加到图中。
void releaseCustomItem(Custom3DItem item) |
void removeCustomItem(Custom3DItem item) |
移除自定义item。删除分配给它的资源。
void removeCustomItemAt(vector3d position) |
移除所有位于position处的自定义项。删除为其分配的资源。
void removeCustomItems() |
移除所有自定义项。删除为其分配的资源。
Abstract3DAxis selectedAxis() |
在接收到任何标签类型的 selectedElementChanged
信号后,可以用来获取选择后的轴。选择在下一个 selectedElementChanged
信号之前有效。
返回选择的轴,或者null。
Custom3DItem selectedCustomItem() |
在接收到具有 ElementType.CustomItem 类型的 selectedElementChanged
信号后,可以用来获取选择后的自定义项。项的所有权仍然属于图形。选择在下一个 selectedElementChanged
信号之前有效。
返回选择的自定义项,或者null。
int selectedCustomItemIndex() |
在接收到具有 ElementType.CustomItem 类型的 selectedElementChanged
信号后,可以用来查询选择的自定义项的索引。选择在下一个 selectedElementChanged
信号之前有效。
返回所选自定义项的索引,或者-1。
int selectedLabelIndex() |
在接收到任何标签类型的 selectedElementChanged
信号后,可以用来查询选定标签的索引。选择在下一个 selectedElementChanged
信号之前有效。
返回选定标签的索引,或者-1。
© 2024 Qt公司。本文档中的文档贡献归其各自的拥有者所有。本文档是根据由自由软件基金会出版的 GNU自由文档许可版1.3 许可的。Qt及其相关标志是Qt公司在芬兰和其他国家的注册商标。所有其他商标均为其各自所有者的财产。