QValue3DAxisFormatter 类

QValue3DAxisFormatter 类是 3D 值轴格式化器的基类。更多...

头文件 #include <QValue3DAxisFormatter>
CMakefind_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmakeQT += graphs
实例化 ValueAxis3DFormatter
继承自 QObject
继承给

QLogValue3DAxisFormatter

状态技术预览

公共函数

QValue3DAxisFormatter(QObject *parent = nullptr)
虚拟~QValue3DAxisFormatter() override

受保护函数

布尔allowNegatives() const
布尔allowZero() const
QValue3DAxis *axis() const
虚拟 QValue3DAxisFormatter *createNewInstance() const
const QList<float> &gridPositions() const
const QList<float> &labelPositions() const
const QStringList &labelStrings() const
QLocalelocale() const
voidmarkDirty(bool labelsChange = false)
虚拟 voidpopulateCopy(QValue3DAxisFormatter &copy)
虚拟 floatpositionAt(float value) const
虚拟 voidrecalculate()
voidsetAllowNegatives(bool allow)
voidsetAllowZero(bool allow)
voidsetGridPoitions(QList<float> gridPositions)
voidsetLabelStrings(QStringList labelStrings)
voidsetLocale(const QLocale &locale)
voidsetSubGridPositions(QList<float> subGridPositions)
voidsetlabelPositions(QList<float> labelPositions)
虚拟 QStringstringForValue(qreal value, const QString &format)
const QList<float> &subGridPositions() const
虚拟 floatvalueAt(float position) const

详细描述

此类提供线性值3D坐标轴的格式化规则。如果要实现自定义值坐标轴,请将其作为子类。

基类除了构造函数和析构函数外没有公开API。它仅用于内部使用。然而,子类可以实现所需的公开属性。

参见 QValue3DAxisQLogValue3DAxisFormatter

成员函数文档

[显式] QValue3DAxisFormatter::QValue3DAxisFormatter(QObject *parent = nullptr)

使用可选的父对象 parent 构造一个新的值3D轴格式化器。

[覆盖 虚拟 noexcept] QValue3DAxisFormatter::~QValue3DAxisFormatter()

删除值3D轴格式化器。

[受保护] bool QValue3DAxisFormatter::allowNegatives() const

如果父轴的有效值包括负值则返回 true。默认实现始终返回 true

参见 setAllowNegatives

[受保护] bool QValue3DAxisFormatter::allowZero() const

如果父轴的有效值包括零则返回 true。默认实现始终返回 true

参见 setAllowZero

[受保护] QValue3DAxis *QValue3DAxisFormatter::axis() const

返回父轴。仅应在 recalculate() 方法中访问父轴,以维护使用线程渲染器的环境中的线程安全。

参见 recalculate

[虚拟保护] QValue3DAxisFormatter *QValue3DAxisFormatter::createNewInstance() const

创建一个新的空值3D轴格式化器。必须在子类中重实现。

返回新的格式化器。渲染器使用此方法缓存格式化器的副本。新副本的所有权转移给调用者。

[受保护] const QList<float> &QValue3DAxisFormatter::gridPositions() const

返回归一化网格线位置的数组的引用。默认数组大小等于父轴的段数加一,但子类实现的 recalculate() 方法可能按不同的方式调整数组大小。

参见 QValue3DAxis::segmentCountrecalculate

[受保护] const QList<float> &QValue3DAxisFormatter::labelPositions() const

返回归一化标签位置的数组的引用。默认数组大小等于父轴的段数加一,但子类实现的 recalculate() 方法可能按不同的方式调整数组大小。默认情况下,索引为零的标签对应于轴的最小值。

参见 QValue3DAxis::segmentCountQAbstract3DAxis::labelsrecalculate

[protected] const QStringList &QValue3DAxisFormatter::labelStrings() const

返回包含格式化标签字符串的字符串列表的引用。

参见 setLabelStrings() 和 labelPositions

[protected] QLocale QValue3DAxisFormatter::locale() const

返回此格式化当前使用的区域。

参见 setLocale

[protected] void QValue3DAxisFormatter::markDirty(bool labelsChange = false)

标记此格式化为脏状态,提示渲染器在下次渲染同步时创建其缓存的新的副本。子类应在格式化器的更改会影响解析值时调用此方法。如果更改需要重新生成父轴的标签字符串,则将labelsChange设置为true

[虚拟受保护] void QValue3DAxisFormatter::populateCopy(QValue3DAxisFormatter &copy)

将解析位置、值和字符串所需的全部值复制到格式化器的copy中。在子类中重新实现此方法时,应在某个位置调用父类版本。渲染器使用此方法缓存格式化器的副本。

返回新的副本。新的副本的所有权转移到调用者。

[虚拟受保护] float QValue3DAxisFormatter::positionAt(float value) const

返回给定value在轴上的归一化位置。如果值在父轴范围内,则返回的值应在0.0(最小值)和1.0(最大值),包括在内的范围内。

如果位置不能通过在父轴最小值和最大值之间进行线性插值来解决,则重新实现此方法。

参见 recalculatevalueAt

[虚拟受保护] void QValue3DAxisFormatter::recalculate()

调整和填充标签和网格线位置数组以及标签字符串数组,以及计算将值映射到其位置的任何需要的值。可以在该函数内部访问父轴。

如果默认数组内容不合适,必须在此子类中重新实现此方法。

有关需要调整和填充的数组的文档,参见gridPositionssubGridPositionslabelPositionslabelStrings 方法。

另请参阅gridPositions()、subGridPositions()、labelPositions()、labelStrings() 以及 axis

[protected] void QValue3DAxisFormatter::setAllowNegatives(bool allow)

如果 allowtrue,则允许父轴有负值。

另请参阅allowNegatives

[protected] void QValue3DAxisFormatter::setAllowZero(bool allow)

如果 allowtrue,则允许父轴有零值。

另请参阅allowZero

[protected] void QValue3DAxisFormatter::setGridPoitions(QList<float> gridPositions)

设置来自 gridPositions 的新网格位置列表。值应在 0.0(最小值)和 1.0(最大值)之间,包括这两个值。

另请参阅QValue3DAxis::segmentCountrecalculate 以及 gridPositions

[protected] void QValue3DAxisFormatter::setLabelStrings(QStringList labelStrings)

labelStrings 设置新标签字符串列表。数组大小必须等于标签位置数组的大小,其中索引也对应。

另请参阅labelPositions() 和 labelStrings

[protected] void QValue3DAxisFormatter::setLocale(const QLocale &locale)

设置此格式器使用的 locale。当父轴设置为图表的活动轴、轴格式器设置为连接到图表的轴或图表的 locale 发生变化时,图表会自动设置格式器的 locale。

另请参阅locale() 和 QAbstract3DGraph::locale

[protected] void QValue3DAxisFormatter::setSubGridPositions(QList<float> subGridPositions)

设置来自 subGridPositions 的新子网格位置列表。值应在 0.0(最小值)和 1.0(最大值)之间,包括这两个值。

另请参阅QValue3DAxis::segmentCountQValue3DAxis::subSegmentCountrecalculate 以及 subGridPositions

[protected] void QValue3DAxisFormatter::setlabelPositions(QList<float> labelPositions)

labelPositions 设置新标签位置列表。值应在 0.0(最小值)和 1.0(最大值)之间,包括这两个值。

另请参阅 QValue3DAxis::segmentCountQAbstract3DAxis::labelsrecalculate(), 以及 labelPositions

[虚保护] QString QValue3DAxisFormatter::stringForValue(qreal value, const QString &format)

使用指定的 valueformat 返回格式化的标签字符串。

在子类中重写此方法,如果为 QValue3DAxis::labelFormat 属性指定的默认格式化规则不足以解析给定 value 的格式化字符串。

另请参阅 recalculatelabelStrings, 和 QValue3DAxis::labelFormat

[保护] const QList<float> &QValue3DAxisFormatter::subGridPositions() const

返回归一化子网格线位置的数组引用。默认数组大小等于父轴的段数乘以父轴的子段数减一,但子类实现的 recalculate() 方法可能以不同的方式调整数组大小。

另请参阅 setSubGridPositionsQValue3DAxis::segmentCountQValue3DAxis::subSegmentCount, 和 recalculate

[虚保护] float QValue3DAxisFormatter::valueAt(float position) const

返回轴上归一化 position 位置处的值。为获得父轴范围内的值,position 值应在 0.0(最小值)和 1.0(最大值)之间,包含这两个值。

如果值无法通过在父轴最小值和最大值之间进行线性插值来解决,则重写此方法。

另请参阅 recalculate()和 positionAt

© 2024 Qt 公司。此处包含的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相关标志是芬兰以及其他国家和地区的 Qt 公司在芬兰和其他国家的商标。所有其他商标均为其各自所有者的财产。