QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
| Public 类型 | Public 成员函数 | Protected 成员函数 | 所有成员列表
QwtPlotItem类 参考abstract

Base class for items on the plot canvas 更多...

#include <qwt_plot_item.h>

类 QwtPlotItem 继承关系图:
QwtPlotArrowMarker QwtPlotGraphicItem QwtPlotGrid QwtPlotLegendItem QwtPlotMarker QwtPlotRasterItem QwtPlotScaleItem QwtPlotSeriesItem QwtPlotShapeItem QwtPlotTextLabel QwtPlotZoneItem

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
 
QwtPlotplot () 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 QwtTexttitle () 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< QwtLegendDatalegendData () 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.

参见
The cpuplot example shows the implementation of additional plot items.

成员枚举类型说明

◆ ItemAttribute

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.

参见
setItemAttribute(), testItemAttribute(), ItemInterest
枚举值
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.

参见
getCanvasMarginHint()

◆ ItemInterest

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.

参见
setItemAttribute(), testItemAttribute(), ItemInterest
枚举值
ScaleInterest 

The item is interested in updates of the scales

参见
updateScaleDiv()
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.

注解
If the plot item wants to be represented on a legend enable QwtPlotItem::Legend instead.
参见
updateLegend()

◆ RenderHint

Render hints

枚举值
RenderAntialiased 

Enable antialiasing

◆ RttiValues

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 

For QwtPlotLegendItem

Rtti_PlotMarker 

For QwtPlotMarker

Rtti_PlotCurve 

For QwtPlotCurve

Rtti_PlotSpectroCurve 

For QwtPlotSpectroCurve

Rtti_PlotIntervalCurve 

For QwtPlotIntervalCurve

Rtti_PlotHistogram 

For QwtPlotHistogram

Rtti_PlotSpectrogram 

For QwtPlotSpectrogram

Rtti_PlotGraphic 

For QwtPlotGraphicItem, QwtPlotSvgItem

Rtti_PlotTradingCurve 

For QwtPlotTradingCurve

Rtti_PlotBarChart 

For QwtPlotBarChart

Rtti_PlotMultiBarChart 

For QwtPlotMultiBarChart

Rtti_PlotShape 

For QwtPlotShapeItem

Rtti_PlotTextLabel 

For QwtPlotTextLabel

Rtti_PlotZone 

For QwtPlotZoneItem

Rtti_PlotVectorField 

For QwtPlotVectorField

Rtti_PlotArrowMarker 

For QwtPlotArrowMarker

Rtti_PlotBoxChart 

Boxplot chart item

Rtti_PlotUserItem 

Values >= Rtti_PlotUserItem are reserved for plot items not implemented in the Qwt library.

构造及析构函数说明

◆ QwtPlotItem()

QwtPlotItem::QwtPlotItem ( )
explicit

Default constructor

Constructs a QwtPlotItem with default settings.

Constructor with title as QString

参数
[in]titleTitle of the item

Constructs a QwtPlotItem with the given title.

Constructor with title as QwtText

参数
[in]titleTitle of the item

Constructs a QwtPlotItem with the given title.

Destructor

Destroys the QwtPlotItem and detaches it from any plot.

成员函数说明

◆ attach()

void QwtPlotItem::attach ( QwtPlot plot)
virtual

Attach the item to a plot

参数
[in]plotPlot 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.

参见
detach()

QwtPlotBarChart, QwtPlotBoxChart, QwtPlotCurve, QwtPlotHistogram, QwtPlotIntervalCurve , 以及 QwtPlotMultiBarChart 重载.

◆ boundingRect()

QRectF QwtPlotItem::boundingRect ( ) const
virtual

Get the bounding rectangle

返回
An invalid bounding rect: QRectF(1.0, 1.0, -2.0, -2.0)
注解
A width or height < 0.0 is ignored by the autoscaler.

QwtPlotArrowMarker, QwtPlotBarChart, QwtPlotBoxChart, QwtPlotGraphicItem, QwtPlotHistogram, QwtPlotIntervalCurve, QwtPlotMarker, QwtPlotMultiBarChart, QwtPlotRasterItem, QwtPlotSeriesItem, QwtPlotShapeItem, QwtPlotTradingCurve, QwtPlotVectorField , 以及 QwtPlotZoneItem 重载.

◆ defaultIcon()

QwtGraphic QwtPlotItem::defaultIcon ( const QBrush &  brush,
const QSizeF &  size 
) const
protected

Create a default icon

Return a default icon from a brush

◆ detach()

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 ).

参见
attach()

◆ draw()

virtual void QwtPlotItem::draw ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect 
) const
pure virtual

Draw the item

参数
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rect of the canvas in painter coordinates

QwtPlotTextLabel, QwtPlotZoneItem, QwtPlotMarker, QwtPlotGraphicItem, QwtPlotGrid, QwtPlotLegendItem, QwtPlotRasterItem, QwtPlotScaleItem, QwtPlotSeriesItem, QwtPlotShapeItem, QwtPlotSpectrogram , 以及 QwtPlotArrowMarker 内被实现.

◆ getCanvasMarginHint()

void QwtPlotItem::getCanvasMarginHint ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect,
double &  left,
double &  top,
double &  right,
double &  bottom 
) const
virtual

Get margin hints for the canvas

Calculate a hint for the canvas margin

参数
[in]xMapMaps x-values into pixel coordinates
[in]yMapMaps y-values into pixel coordinates
[in]canvasRectContents rectangle of the canvas in painter coordinates
[out]leftReturns the left margin
[out]topReturns the top margin
[out]rightReturns the right margin
[out]bottomReturns 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.

参见
QwtPlot::getCanvasMarginsHint(), QwtPlot::updateCanvasMargins()

QwtPlotAbstractBarChart 重载.

◆ hide()

void QwtPlotItem::hide ( )

Hide the item

Equivalent to calling setVisible( false ).

参见
show(), setVisible(), isVisible()

◆ isVisible()

bool QwtPlotItem::isVisible ( ) const

Check if the item is visible

返回
true if visible, false otherwise
参见
setVisible(), show(), hide()

◆ itemChanged()

void QwtPlotItem::itemChanged ( )
virtual

Notify the plot that the item has changed

Update the legend and call QwtPlot::autoRefresh() for the parent plot.

参见
QwtPlot::legendChanged(), QwtPlot::autoRefresh()

◆ legendChanged()

void QwtPlotItem::legendChanged ( )
virtual

Notify the item that the legend has changed

Notify that the legend has changed

Update the legend of the parent plot.

参见
QwtPlot::updateLegend(), itemChanged()

◆ legendData()

QList< QwtLegendData > QwtPlotItem::legendData ( ) const
virtual

Return legend data

Return all information needed to represent the item on the legend

返回
Data that is 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().

参见
title(), legendIcon(), QwtLegend, QwtPlotLegendItem

QwtPlotBarChart , 以及 QwtPlotMultiBarChart 重载.

◆ legendIcon()

QwtGraphic QwtPlotItem::legendIcon ( int  index,
const QSizeF &  size 
) const
virtual

Return a legend icon

Get the icon representing the item on the legend

参数
[in]indexIndex of the legend entry (usually there is only one)
[in]sizeIcon size
返回
Icon representing the item on the legend

The default implementation returns an invalid icon.

参见
setLegendIconSize(), legendData()

QwtPlotBarChart, QwtPlotBoxChart, QwtPlotCurve, QwtPlotHistogram, QwtPlotIntervalCurve, QwtPlotMarker, QwtPlotMultiBarChart, QwtPlotShapeItem, QwtPlotTradingCurve, QwtPlotVectorField , 以及 QwtPlotArrowMarker 重载.

◆ legendIconSize()

QSize QwtPlotItem::legendIconSize ( ) const

Get the legend icon size

返回
Legend icon size
参见
setLegendIconSize(), legendIcon()

◆ paintRect()

QRectF QwtPlotItem::paintRect ( const QwtScaleMap xMap,
const QwtScaleMap yMap 
) const

Calculate the paint rectangle

Calculate the bounding paint rectangle of 2 maps

参数
[in]xMapMaps x-values into pixel coordinates
[in]yMapMaps y-values into pixel coordinates
返回
Bounding paint rectangle of the scale maps, not normalized

◆ plot()

QwtPlot * QwtPlotItem::plot ( ) const

Get the plot the item is attached to

返回
Attached plot, or nullptr if not attached

◆ renderThreadCount()

uint QwtPlotItem::renderThreadCount ( ) const

Get the number of render threads

返回
Number of threads to be used for rendering. If renderThreadCount() is set to 0, the system specific ideal thread count is used.

◆ rtti()

int QwtPlotItem::rtti ( ) const
virtual

Runtime type information

Get runtime type information

返回
rtti value for the specific class

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<...>.

参见
RttiValues

QwtPlotArrowMarker, QwtPlotBarChart, QwtPlotBoxChart, QwtPlotCurve, QwtPlotGraphicItem, QwtPlotGrid, QwtPlotHistogram, QwtPlotIntervalCurve, QwtPlotLegendItem, QwtPlotMarker, QwtPlotMultiBarChart, QwtPlotScaleItem, QwtPlotShapeItem, QwtPlotSpectroCurve, QwtPlotSpectrogram, QwtPlotTextLabel, QwtPlotTradingCurve, QwtPlotVectorField , 以及 QwtPlotZoneItem 重载.

◆ scaleRect()

QRectF QwtPlotItem::scaleRect ( const QwtScaleMap xMap,
const QwtScaleMap yMap 
) const

Calculate the scale rectangle

Calculate the bounding scale rectangle of 2 maps

参数
[in]xMapMaps x-values into pixel coordinates
[in]yMapMaps y-values into pixel coordinates
返回
Bounding scale rect of the scale maps, not normalized

◆ setAxes()

void QwtPlotItem::setAxes ( QwtAxisId  xAxisId,
QwtAxisId  yAxisId 
)

Set both axes

Set X and Y axes

参数
[in]xAxisIdX Axis identifier
[in]yAxisIdY Axis identifier

The item will be painted according to the coordinates of its axes.

参见
setXAxis(), setYAxis(), xAxis(), yAxis()

◆ setItemAttribute()

void QwtPlotItem::setItemAttribute ( ItemAttribute  attribute,
bool  on = true 
)

Set an item attribute

参数
[in]attributeAttribute type to set
[in]ontrue to enable, false to disable

Toggle an item attribute.

参见
testItemAttribute(), ItemInterest

◆ setItemInterest()

void QwtPlotItem::setItemInterest ( ItemInterest  interest,
bool  on = true 
)

Set an item interest

参数
[in]interestInterest type to set
[in]ontrue to enable, false to disable

Toggle an item interest.

参见
testItemInterest(), ItemAttribute

◆ setLegendIconSize()

void QwtPlotItem::setLegendIconSize ( const QSize &  size)

Set the legend icon size

Set the size of the legend icon

参数
[in]sizeIcon size

The default setting is 8x8 pixels.

参见
legendIconSize(), legendIcon()

◆ setRenderHint()

void QwtPlotItem::setRenderHint ( RenderHint  hint,
bool  on = true 
)

Set a render hint

参数
[in]hintRender hint to set
[in]ontrue to enable, false to disable

Toggle a render hint.

参见
testRenderHint(), RenderHint

◆ setRenderThreadCount()

void QwtPlotItem::setRenderThreadCount ( uint  numThreads)

Set the number of render threads

参数
[in]numThreadsNumber 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.

◆ setTitle() [1/2]

void QwtPlotItem::setTitle ( const QString &  title)

Set the title using a QString

参数
[in]titleTitle text
参见
title()

◆ setTitle() [2/2]

void QwtPlotItem::setTitle ( const QwtText title)

Set the title using a QwtText

参数
[in]titleTitle text
参见
title()

◆ setVisible()

void QwtPlotItem::setVisible ( bool  on)
virtual

Set the visibility

Set the visibility of the item

参数
[in]onShow if true, otherwise hide
参见
isVisible(), show(), hide()

◆ setXAxis()

void QwtPlotItem::setXAxis ( QwtAxisId  axisId)

Set the x-axis

Set the X axis

参数
[in]axisIdX Axis identifier

The item will be painted according to the coordinates of its axis.

参见
setAxes(), setYAxis(), xAxis()

◆ setYAxis()

void QwtPlotItem::setYAxis ( QwtAxisId  axisId)

Set the y-axis

Set the Y axis

参数
[in]axisIdY Axis identifier

The item will be painted according to the coordinates of its axis.

参见
setAxes(), setXAxis(), yAxis()

◆ setZ()

void QwtPlotItem::setZ ( double  z)

Set the z-value

参数
[in]zZ-value for the item

Plot items are painted in increasing z-order.

参见
z(), QwtPlotDict::itemList()

◆ show()

void QwtPlotItem::show ( )

Show the item

Equivalent to calling setVisible( true ).

参见
hide(), setVisible(), isVisible()

◆ testItemAttribute()

bool QwtPlotItem::testItemAttribute ( ItemAttribute  attribute) const

Test an item attribute

参数
[in]attributeAttribute type to test
返回
true if the attribute is enabled, false otherwise
参见
setItemAttribute(), ItemInterest

◆ testItemInterest()

bool QwtPlotItem::testItemInterest ( ItemInterest  interest) const

Test an item interest

参数
[in]interestInterest type to test
返回
true if the interest is enabled, false otherwise
参见
setItemInterest(), ItemAttribute

◆ testRenderHint()

bool QwtPlotItem::testRenderHint ( RenderHint  hint) const

Test a render hint

参数
[in]hintRender hint to test
返回
true if the render hint is enabled, false otherwise
参见
setRenderHint(), RenderHint

◆ title()

const QwtText & QwtPlotItem::title ( ) const

Get the title

Get the title of the item

返回
Title of the item
参见
setTitle()

◆ updateLegend()

void QwtPlotItem::updateLegend ( const QwtPlotItem item,
const QList< QwtLegendData > &  data 
)
virtual

Update the item with changes of the legend

Update the item to changes of the legend info

参数
[in]itemPlot item to be displayed on a legend
[in]dataAttributes 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.

注解
Plot items, that want to be displayed on a legend need to enable the QwtPlotItem::Legend flag and to implement legendData() and legendIcon().
参见
QwtPlotLegendItem

QwtPlotLegendItem 重载.

◆ updateScaleDiv()

void QwtPlotItem::updateScaleDiv ( const QwtScaleDiv xScaleDiv,
const QwtScaleDiv yScaleDiv 
)
virtual

Update the item with new scale divisions

Update the item to changes of the axes scale division

参数
[in]xScaleDivScale division of the x-axis
[in]yScaleDivScale 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.

参见
QwtPlot::updateAxes(), ScaleInterest

QwtPlotScaleItem, QwtPlotSeriesItem , 以及 QwtPlotGrid 重载.

◆ xAxis()

QwtAxisId QwtPlotItem::xAxis ( ) const

Get the x-axis

Get the X axis

返回
X Axis identifier

◆ yAxis()

QwtAxisId QwtPlotItem::yAxis ( ) const

Get the y-axis

Get the Y axis

返回
Y Axis identifier

◆ z()

double QwtPlotItem::z ( ) const

Get the z-value

返回
Z-value of the item

Plot items are painted in increasing z-order.

参见
setZ(), QwtPlotDict::itemList()

该类的文档由以下文件生成: