|
QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
|
Base class for items on the plot canvas 更多...
#include <qwt_plot_item.h>
类 | |
| class | PrivateData |
Public 类型 | |
| enum | RttiValues { Rtti_PlotItem = 0 , Rtti_PlotGrid , Rtti_PlotScale , Rtti_PlotLegend , Rtti_PlotMarker , Rtti_PlotCurve , Rtti_PlotSpectroCurve , Rtti_PlotIntervalCurve , Rtti_PlotHistogram , Rtti_PlotSpectrogram , Rtti_PlotGraphic , Rtti_PlotTradingCurve , Rtti_PlotBarChart , Rtti_PlotMultiBarChart , Rtti_PlotShape , Rtti_PlotTextLabel , Rtti_PlotZone , Rtti_PlotVectorField , Rtti_PlotArrowMarker , Rtti_PlotBoxChart , Rtti_PlotUserItem = 1000 } |
| Runtime type information 更多... | |
| enum | ItemAttribute { Legend = 0x01 , AutoScale = 0x02 , Margins = 0x04 } |
| Plot Item Attributes 更多... | |
| enum | ItemInterest { ScaleInterest = 0x01 , LegendInterest = 0x02 } |
| Plot Item Interests 更多... | |
| enum | RenderHint { RenderAntialiased = 0x1 } |
| Render hints 更多... | |
Public 成员函数 | |
| QwtPlotItem () | |
| Default constructor | |
| QwtPlotItem (const QString &title) | |
| Constructor with title as QString | |
| QwtPlotItem (const QwtText &title) | |
| Constructor with title as QwtText | |
| virtual | ~QwtPlotItem () |
| Destructor | |
| virtual void | attach (QwtPlot *plot) |
| Attach the item to a plot | |
| void | detach () |
| Detach the item from the plot | |
| QwtPlot * | plot () const |
| Get the plot the item is attached to | |
| void | setTitle (const QString &title) |
| Set the title using a QString | |
| void | setTitle (const QwtText &title) |
| Set the title using a QwtText | |
| const QwtText & | title () const |
| Get the title | |
| virtual int | rtti () const |
| Runtime type information | |
| void | setItemAttribute (ItemAttribute, bool on=true) |
| Set an item attribute | |
| bool | testItemAttribute (ItemAttribute) const |
| Test an item attribute | |
| void | setItemInterest (ItemInterest, bool on=true) |
| Set an item interest | |
| bool | testItemInterest (ItemInterest) const |
| Test an item interest | |
| void | setRenderHint (RenderHint, bool on=true) |
| Set a render hint | |
| bool | testRenderHint (RenderHint) const |
| Test a render hint | |
| void | setRenderThreadCount (uint numThreads) |
| Set the number of render threads | |
| uint | renderThreadCount () const |
| Get the number of render threads | |
| void | setLegendIconSize (const QSize &) |
| Set the legend icon size | |
| QSize | legendIconSize () const |
| Get the legend icon size | |
| double | z () const |
| Get the z-value | |
| void | setZ (double z) |
| Set the z-value | |
| void | show () |
| Show the item | |
| void | hide () |
| Hide the item | |
| virtual void | setVisible (bool) |
| Set the visibility | |
| bool | isVisible () const |
| Check if the item is visible | |
| void | setAxes (QwtAxisId xAxis, QwtAxisId yAxis) |
| Set both axes | |
| void | setXAxis (QwtAxisId) |
| Set the x-axis | |
| QwtAxisId | xAxis () const |
| Get the x-axis | |
| void | setYAxis (QwtAxisId) |
| Set the y-axis | |
| QwtAxisId | yAxis () const |
| Get the y-axis | |
| virtual void | itemChanged () |
| Notify the plot that the item has changed | |
| virtual void | legendChanged () |
| Notify the item that the legend has changed | |
| virtual void | draw (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const =0 |
| Draw the item | |
| virtual QRectF | boundingRect () const |
| Get the bounding rectangle | |
| virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const |
| Get margin hints for the canvas | |
| virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) |
| Update the item with new scale divisions | |
| virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &) |
| Update the item with changes of the legend | |
| QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const |
| Calculate the scale rectangle | |
| QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const |
| Calculate the paint rectangle | |
| virtual QList< QwtLegendData > | legendData () const |
| Return legend data | |
| virtual QwtGraphic | legendIcon (int index, const QSizeF &) const |
| Return a legend icon | |
Protected 成员函数 | |
| QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const |
| Create a default icon | |
Base class for items on the plot canvas
A plot item is "something", that can be painted on the plot canvas, or only affects the scales of the plot widget. They can be categorized as:
Depending on the QwtPlotItem::ItemAttribute flags, an item is included into autoscaling or has an entry on the legend.
Before misusing the existing item classes it might be better to implement a new type of plot item ( don't implement a watermark as spectrogram ). Deriving a new type of QwtPlotItem primarily means to implement the YourPlotItem::draw() method.
Plot Item Attributes
Various aspects of a plot widget depend on the attributes of the attached plot items. If and how a single plot item participates in these updates depends on its attributes.
| 枚举值 | |
|---|---|
| Legend | The item is represented on the legend. |
| AutoScale | The boundingRect() of the item is included in the autoscaling calculation as long as its width or height is >= 0.0. |
| Margins | The item needs extra space to display something outside its bounding rectangle. |
Plot Item Interests
Plot items might depend on the situation of the corresponding plot widget. By enabling an interest the plot item will be notified, when the corresponding attribute of the plot widgets has changed.
| 枚举值 | |
|---|---|
| ScaleInterest | The item is interested in updates of the scales |
| LegendInterest | The item is interested in updates of the legend ( of other items ) This flag is intended for items, that want to implement a legend for displaying entries of other plot item.
|
Runtime type information
RttiValues is used to cast plot items, without having to enable runtime type information of the compiler.
| 枚举值 | |
|---|---|
| Rtti_PlotItem | Unspecific value, that can be used, when it doesn't matter |
| Rtti_PlotGrid | For QwtPlotGrid |
| Rtti_PlotScale | For QwtPlotScaleItem |
| Rtti_PlotLegend | |
| Rtti_PlotMarker | For QwtPlotMarker |
| Rtti_PlotCurve | For QwtPlotCurve |
| Rtti_PlotSpectroCurve | |
| Rtti_PlotIntervalCurve | |
| Rtti_PlotHistogram | For QwtPlotHistogram |
| Rtti_PlotSpectrogram | |
| Rtti_PlotGraphic | |
| Rtti_PlotTradingCurve | |
| Rtti_PlotBarChart | For QwtPlotBarChart |
| Rtti_PlotMultiBarChart | |
| Rtti_PlotShape | For QwtPlotShapeItem |
| Rtti_PlotTextLabel | For QwtPlotTextLabel |
| Rtti_PlotZone | For QwtPlotZoneItem |
| Rtti_PlotVectorField | |
| Rtti_PlotArrowMarker | |
| Rtti_PlotBoxChart | Boxplot chart item |
| Rtti_PlotUserItem | Values >= Rtti_PlotUserItem are reserved for plot items not implemented in the Qwt library. |
|
explicit |
Default constructor
Constructs a QwtPlotItem with default settings.
Constructor with title as QString
| [in] | title | Title of the item |
Constructs a QwtPlotItem with the given title.
Constructor with title as QwtText
| [in] | title | Title of the item |
Constructs a QwtPlotItem with the given title.
Destructor
Destroys the QwtPlotItem and detaches it from any plot.
|
virtual |
Attach the item to a plot
| [in] | plot | Plot widget to attach to |
This method will attach a QwtPlotItem to the QwtPlot argument. It will first detach the QwtPlotItem from any plot from a previous call to attach (if necessary). If a nullptr argument is passed, it will detach from any QwtPlot it was attached to.
被 QwtPlotBarChart, QwtPlotBoxChart, QwtPlotCurve, QwtPlotHistogram, QwtPlotIntervalCurve , 以及 QwtPlotMultiBarChart 重载.
|
virtual |
Get the bounding rectangle
被 QwtPlotArrowMarker, QwtPlotBarChart, QwtPlotBoxChart, QwtPlotGraphicItem, QwtPlotHistogram, QwtPlotIntervalCurve, QwtPlotMarker, QwtPlotMultiBarChart, QwtPlotRasterItem, QwtPlotSeriesItem, QwtPlotShapeItem, QwtPlotTradingCurve, QwtPlotVectorField , 以及 QwtPlotZoneItem 重载.
|
protected |
Create a default icon
Return a default icon from a brush
| void QwtPlotItem::detach | ( | ) |
Detach the item from the plot
This method detaches a QwtPlotItem from any QwtPlot it has been associated with. detach() is equivalent to calling attach( nullptr ).
|
pure virtual |
Draw the item
| painter | Painter |
| xMap | Maps x-values into pixel coordinates. |
| yMap | Maps y-values into pixel coordinates. |
| canvasRect | Contents rect of the canvas in painter coordinates |
在 QwtPlotTextLabel, QwtPlotZoneItem, QwtPlotMarker, QwtPlotGraphicItem, QwtPlotGrid, QwtPlotLegendItem, QwtPlotRasterItem, QwtPlotScaleItem, QwtPlotSeriesItem, QwtPlotShapeItem, QwtPlotSpectrogram , 以及 QwtPlotArrowMarker 内被实现.
|
virtual |
Get margin hints for the canvas
Calculate a hint for the canvas margin
| [in] | xMap | Maps x-values into pixel coordinates |
| [in] | yMap | Maps y-values into pixel coordinates |
| [in] | canvasRect | Contents rectangle of the canvas in painter coordinates |
| [out] | left | Returns the left margin |
| [out] | top | Returns the top margin |
| [out] | right | Returns the right margin |
| [out] | bottom | Returns the bottom margin |
When the QwtPlotItem::Margins flag is enabled the plot item indicates, that it needs some margins at the borders of the canvas. This is e.g. used by bar charts to reserve space for displaying the bars. The margins are in target device coordinates (pixels on screen). The default implementation returns 0 for all margins.
被 QwtPlotAbstractBarChart 重载.
| void QwtPlotItem::hide | ( | ) |
| bool QwtPlotItem::isVisible | ( | ) | const |
|
virtual |
Notify the plot that the item has changed
Update the legend and call QwtPlot::autoRefresh() for the parent plot.
|
virtual |
Notify the item that the legend has changed
Notify that the legend has changed
Update the legend of the parent plot.
|
virtual |
Return legend data
Return all information needed to represent the item on the legend
Most items are represented by one entry on the legend showing an icon and a text, but e.g. QwtPlotMultiBarChart displays one entry for each bar. QwtLegendData is basically a list of QVariants that makes it possible to overload and reimplement legendData() to return almost any type of information, that is understood by the receiver that acts as the legend. The default implementation returns one entry with the title() of the item and the legendIcon().
被 QwtPlotBarChart , 以及 QwtPlotMultiBarChart 重载.
|
virtual |
Return a legend icon
Get the icon representing the item on the legend
| [in] | index | Index of the legend entry (usually there is only one) |
| [in] | size | Icon size |
The default implementation returns an invalid icon.
被 QwtPlotBarChart, QwtPlotBoxChart, QwtPlotCurve, QwtPlotHistogram, QwtPlotIntervalCurve, QwtPlotMarker, QwtPlotMultiBarChart, QwtPlotShapeItem, QwtPlotTradingCurve, QwtPlotVectorField , 以及 QwtPlotArrowMarker 重载.
| QSize QwtPlotItem::legendIconSize | ( | ) | const |
| QRectF QwtPlotItem::paintRect | ( | const QwtScaleMap & | xMap, |
| const QwtScaleMap & | yMap | ||
| ) | const |
Calculate the paint rectangle
Calculate the bounding paint rectangle of 2 maps
| [in] | xMap | Maps x-values into pixel coordinates |
| [in] | yMap | Maps y-values into pixel coordinates |
| QwtPlot * QwtPlotItem::plot | ( | ) | const |
Get the plot the item is attached to
| uint QwtPlotItem::renderThreadCount | ( | ) | const |
Get the number of render threads
|
virtual |
Runtime type information
Get runtime type information
Return rtti for the specific class represented. QwtPlotItem is simply a virtual interface class, and base classes will implement this method with specific rtti values so a user can differentiate them. The rtti value is useful for environments, where the runtime type information is disabled and it is not possible to do a dynamic_cast<...>.
被 QwtPlotArrowMarker, QwtPlotBarChart, QwtPlotBoxChart, QwtPlotCurve, QwtPlotGraphicItem, QwtPlotGrid, QwtPlotHistogram, QwtPlotIntervalCurve, QwtPlotLegendItem, QwtPlotMarker, QwtPlotMultiBarChart, QwtPlotScaleItem, QwtPlotShapeItem, QwtPlotSpectroCurve, QwtPlotSpectrogram, QwtPlotTextLabel, QwtPlotTradingCurve, QwtPlotVectorField , 以及 QwtPlotZoneItem 重载.
| QRectF QwtPlotItem::scaleRect | ( | const QwtScaleMap & | xMap, |
| const QwtScaleMap & | yMap | ||
| ) | const |
Calculate the scale rectangle
Calculate the bounding scale rectangle of 2 maps
| [in] | xMap | Maps x-values into pixel coordinates |
| [in] | yMap | Maps y-values into pixel coordinates |
| void QwtPlotItem::setAxes | ( | QwtAxisId | xAxisId, |
| QwtAxisId | yAxisId | ||
| ) |
Set both axes
Set X and Y axes
| [in] | xAxisId | X Axis identifier |
| [in] | yAxisId | Y Axis identifier |
The item will be painted according to the coordinates of its axes.
| void QwtPlotItem::setItemAttribute | ( | ItemAttribute | attribute, |
| bool | on = true |
||
| ) |
Set an item attribute
| [in] | attribute | Attribute type to set |
| [in] | on | true to enable, false to disable |
Toggle an item attribute.
| void QwtPlotItem::setItemInterest | ( | ItemInterest | interest, |
| bool | on = true |
||
| ) |
Set an item interest
| [in] | interest | Interest type to set |
| [in] | on | true to enable, false to disable |
Toggle an item interest.
| void QwtPlotItem::setLegendIconSize | ( | const QSize & | size | ) |
Set the legend icon size
Set the size of the legend icon
| [in] | size | Icon size |
The default setting is 8x8 pixels.
| void QwtPlotItem::setRenderHint | ( | RenderHint | hint, |
| bool | on = true |
||
| ) |
Set a render hint
| [in] | hint | Render hint to set |
| [in] | on | true to enable, false to disable |
Toggle a render hint.
| void QwtPlotItem::setRenderThreadCount | ( | uint | numThreads | ) |
Set the number of render threads
| [in] | numThreads | Number of threads to be used for rendering. If numThreads is set to 0, the system specific ideal thread count is used. |
On multi core systems rendering of certain plot item (e.g. QwtPlotRasterItem) can be done in parallel in several threads. The default setting is set to 1.
| void QwtPlotItem::setTitle | ( | const QString & | title | ) |
| void QwtPlotItem::setTitle | ( | const QwtText & | title | ) |
|
virtual |
Set the visibility
Set the visibility of the item
| [in] | on | Show if true, otherwise hide |
| void QwtPlotItem::setXAxis | ( | QwtAxisId | axisId | ) |
Set the x-axis
Set the X axis
| [in] | axisId | X Axis identifier |
The item will be painted according to the coordinates of its axis.
| void QwtPlotItem::setYAxis | ( | QwtAxisId | axisId | ) |
Set the y-axis
Set the Y axis
| [in] | axisId | Y Axis identifier |
The item will be painted according to the coordinates of its axis.
| void QwtPlotItem::setZ | ( | double | z | ) |
Set the z-value
| [in] | z | Z-value for the item |
Plot items are painted in increasing z-order.
| void QwtPlotItem::show | ( | ) |
| bool QwtPlotItem::testItemAttribute | ( | ItemAttribute | attribute | ) | const |
Test an item attribute
| [in] | attribute | Attribute type to test |
| bool QwtPlotItem::testItemInterest | ( | ItemInterest | interest | ) | const |
Test an item interest
| [in] | interest | Interest type to test |
| bool QwtPlotItem::testRenderHint | ( | RenderHint | hint | ) | const |
Test a render hint
| [in] | hint | Render hint to test |
| const QwtText & QwtPlotItem::title | ( | ) | const |
|
virtual |
Update the item with changes of the legend
Update the item to changes of the legend info
| [in] | item | Plot item to be displayed on a legend |
| [in] | data | Attributes how to display item on the legend |
Plot items that want to display a legend (not those, that want to be displayed on a legend!) will have to implement updateLegend(). updateLegend() is only called when the LegendInterest interest is enabled. The default implementation does nothing.
被 QwtPlotLegendItem 重载.
|
virtual |
Update the item with new scale divisions
Update the item to changes of the axes scale division
| [in] | xScaleDiv | Scale division of the x-axis |
| [in] | yScaleDiv | Scale division of the y-axis |
Update the item, when the axes of plot have changed. The default implementation does nothing, but items that depend on the scale division (like QwtPlotGrid()) have to reimplement updateScaleDiv(). updateScaleDiv() is only called when the ScaleInterest interest is enabled. The default implementation does nothing.
被 QwtPlotScaleItem, QwtPlotSeriesItem , 以及 QwtPlotGrid 重载.
| QwtAxisId QwtPlotItem::xAxis | ( | ) | const |
Get the x-axis
Get the X axis
| QwtAxisId QwtPlotItem::yAxis | ( | ) | const |
Get the y-axis
Get the Y axis
| double QwtPlotItem::z | ( | ) | const |
Get the z-value
Plot items are painted in increasing z-order.