|
QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
|
Base class for scale engines 更多...
#include <qwt_scale_engine.h>
类 | |
| class | PrivateData |
Public 类型 | |
| enum | Attribute { NoAttribute = 0x00 , IncludeReference = 0x01 , Symmetric = 0x02 , Floating = 0x04 , Inverted = 0x08 } |
| Layout attributes 更多... | |
Public 成员函数 | |
| QwtScaleEngine (uint base=10) | |
| Constructor | |
| void | setBase (uint base) |
| Set the base | |
| uint | base () const |
| Return base of the scale engine | |
| void | setAttribute (Attribute, bool on=true) |
| Set an attribute | |
| bool | testAttribute (Attribute) const |
| Test if an attribute is enabled | |
| void | setAttributes (Attributes) |
| Set attributes | |
| Attributes | attributes () const |
| Return scale attributes | |
| void | setReference (double) |
| Set the reference value | |
| double | reference () const |
| Return the reference value | |
| void | setMargins (double lower, double upper) |
| Set the margins | |
| double | lowerMargin () const |
| Return the margin at the lower end of the scale | |
| double | upperMargin () const |
| Return the margin at the upper end of the scale | |
| virtual void | autoScale (int maxNumSteps, double &x1, double &x2, double &stepSize) const =0 |
| Align and divide an interval | |
| virtual QwtScaleDiv | divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const =0 |
| Calculate a scale division | |
| void | setTransformation (QwtTransform *) |
| Set the transformation | |
| QwtTransform * | transformation () const |
| Create and return a clone of the transformation of the engine | |
Protected 成员函数 | |
| bool | contains (const QwtInterval &, double value) const |
| Check if an interval contains a value | |
| QList< double > | strip (const QList< double > &, const QwtInterval &) const |
| Strip values outside an interval | |
| double | divideInterval (double intervalSize, int numSteps) const |
| Divide an interval | |
| QwtInterval | buildInterval (double value) const |
| Build an interval around a value | |
Base class for scale engines
A scale engine tries to find "reasonable" ranges and step sizes for scales. The layout of the scale can be varied with setAttribute(). Qwt offers implementations for logarithmic and linear scales.
Layout attributes
| 枚举值 | |
|---|---|
| NoAttribute | No attributes |
| IncludeReference | Build a scale which includes the reference() value |
| Symmetric | Build a scale which is symmetric to the reference() value |
| Floating | The endpoints of the scale are supposed to be equal the outmost included values plus the specified margins (see setMargins()). If this attribute is not set, the endpoints of the scale will be integer multiples of the step size. |
| Inverted | Turn the scale upside down |
|
explicit |
| QwtScaleEngine::Attributes QwtScaleEngine::attributes | ( | ) | const |
Return scale attributes
|
pure virtual |
Align and divide an interval
在 QwtLinearScaleEngine, QwtLogScaleEngine , 以及 QwtDateScaleEngine 内被实现.
| uint QwtScaleEngine::base | ( | ) | const |
|
protected |
Build an interval around a value
In case of v == 0.0 the interval is [-0.5, 0.5], otherwise it is [0.5 * v, 1.5 * v]
| value | Initial value |
|
protected |
Check if an interval contains a value
Check if an interval "contains" a value
| interval | Interval |
| value | Value |
|
protected |
Divide an interval
Calculate a step size for an interval size
| intervalSize | Interval size |
| numSteps | Number of steps |
|
pure virtual |
Calculate a scale division
在 QwtLinearScaleEngine, QwtLogScaleEngine , 以及 QwtDateScaleEngine 内被实现.
| double QwtScaleEngine::lowerMargin | ( | ) | const |
Return the margin at the lower end of the scale
The default margin is 0.
| double QwtScaleEngine::reference | ( | ) | const |
Return the reference value
| void QwtScaleEngine::setAttribute | ( | Attribute | attribute, |
| bool | on = true |
||
| ) |
Set an attribute
Change a scale attribute
| attribute | Attribute to change |
| on | On/Off |
| void QwtScaleEngine::setAttributes | ( | Attributes | attributes | ) |
Set attributes
Change the scale attribute
| attributes | Set scale attributes |
| void QwtScaleEngine::setBase | ( | uint | base | ) |
Set the base
Set the base of the scale engine
| base | Base of the engine |
While a base of 10 is what 99.9% of all applications need, certain scales might need a different base: f.e 2. The default setting is 10.
| void QwtScaleEngine::setMargins | ( | double | lower, |
| double | upper | ||
| ) |
Set the margins
Specify margins at the scale's endpoints
| lower | Minimum distance between the scale's lower boundary and the smallest enclosed value |
| upper | Minimum distance between the scale's upper boundary and the greatest enclosed value |
Margins can be used to leave a minimum amount of space between the enclosed intervals and the boundaries of the scale.
| void QwtScaleEngine::setReference | ( | double | reference | ) |
Set the reference value
Specify a reference point
| reference | New reference value |
The reference point is needed if options IncludeReference or Symmetric are active. Its default value is 0.0.
| void QwtScaleEngine::setTransformation | ( | QwtTransform * | transform | ) |
Set the transformation
Assign a transformation
| transform | Transformation |
The transformation object is used as factory for clones that are returned by transformation(). The scale engine takes ownership of the transformation.
|
protected |
Strip values outside an interval
Remove ticks from a list, that are not inside an interval
| ticks | Tick list |
| interval | Interval |
| bool QwtScaleEngine::testAttribute | ( | Attribute | attribute | ) | const |
Test if an attribute is enabled
| attribute | Attribute to be tested |
| QwtTransform * QwtScaleEngine::transformation | ( | ) | const |
Create and return a clone of the transformation of the engine
When the engine has no special transformation nullptr is returned, indicating no transformation.
| double QwtScaleEngine::upperMargin | ( | ) | const |
Return the margin at the upper end of the scale
The default margin is 0.