|
QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
|
QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time 更多...
#include <qwt_plot_tradingcurve.h>
类 | |
| class | PrivateData |
Public 成员函数 | |
| QwtPlotTradingCurve (const QString &title=QString()) | |
| QwtPlotTradingCurve (const QwtText &title) | |
| Constructor | |
| virtual int | rtti () const override |
| Get the runtime type information | |
| void | setPaintAttribute (PaintAttribute, bool on=true) |
| Specify an attribute how to draw the curve | |
| bool | testPaintAttribute (PaintAttribute) const |
| Test a paint attribute | |
| void | setSamples (const QVector< QwtOHLCSample > &) |
| Initialize data with an array of samples | |
| void | setSamples (QwtSeriesData< QwtOHLCSample > *) |
| Assign a series of samples | |
| void | setSymbolStyle (SymbolStyle style) |
| Set the symbol style | |
| SymbolStyle | symbolStyle () const |
| Get the symbol style | |
| void | setSymbolPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine) |
| Build and assign the symbol pen | |
| void | setSymbolPen (const QPen &) |
| Set the symbol pen | |
| QPen | symbolPen () const |
| Get the symbol pen | |
| void | setSymbolBrush (Direction, const QBrush &) |
| Set the symbol brush | |
| QBrush | symbolBrush (Direction) const |
| Get the symbol brush | |
| void | setSymbolExtent (double) |
| Set the extent of the symbol | |
| double | symbolExtent () const |
| Get the extent of the symbol | |
| void | setMinSymbolWidth (double) |
| Set a minimum for the symbol width | |
| double | minSymbolWidth () const |
| Get the minimum for the symbol width | |
| void | setMaxSymbolWidth (double) |
| Set a maximum for the symbol width | |
| double | maxSymbolWidth () const |
| Get the maximum for the symbol width | |
| virtual void | drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const override |
| Draw an interval of the curve | |
| virtual QRectF | boundingRect () const override |
| Get the bounding rectangle of all samples | |
| virtual QwtGraphic | legendIcon (int index, const QSizeF &) const override |
| Get a legend icon | |
Public 成员函数 继承自 QwtPlotSeriesItem | |
| QwtPlotSeriesItem (const QString &title=QString()) | |
| QwtPlotSeriesItem (const QwtText &title) | |
| Constructor | |
| void | setOrientation (Qt::Orientation) |
| Set the orientation of the item | |
| Qt::Orientation | orientation () const |
| Get the orientation of the plot item | |
| virtual void | draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override |
| Draw the complete series | |
| virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) override |
| Update the scale divisions | |
Public 成员函数 继承自 QwtPlotItem | |
| 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 | |
| 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 | 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 | 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 | |
Public 成员函数 继承自 QwtSeriesStore< QwtOHLCSample > | |
| void | setData (QwtSeriesData< QwtOHLCSample > *series) |
| QwtSeriesData< QwtOHLCSample > * | data () |
| const QwtSeriesData< QwtOHLCSample > * | data () const |
| QwtOHLCSample | sample (size_t index) const |
| virtual size_t | dataSize () const override |
| virtual QRectF | dataRect () const override |
| virtual void | setRectOfInterest (const QRectF &rect) override |
| Set a the "rectangle of interest" for the stored series | |
| QwtSeriesData< QwtOHLCSample > * | swapData (QwtSeriesData< QwtOHLCSample > *series) |
Protected 成员函数 | |
| void | init () |
| Initialize internal members | |
| virtual void | drawSymbols (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const |
| Draw symbols | |
| virtual void | drawUserSymbol (QPainter *, SymbolStyle, const QwtOHLCSample &, Qt::Orientation, bool inverted, double symbolWidth) const |
| Draw a symbol for a symbol style >= UserSymbol | |
| void | drawBar (QPainter *, const QwtOHLCSample &, Qt::Orientation, bool inverted, double width) const |
| Draw a bar | |
| void | drawCandleStick (QPainter *, const QwtOHLCSample &, Qt::Orientation, double width) const |
| Draw a candle stick | |
| virtual double | scaledSymbolWidth (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const |
| Calculate the symbol width in paint coordinates | |
Protected 成员函数 继承自 QwtPlotSeriesItem | |
| virtual void | dataChanged () override |
| dataChanged() indicates, that the series has been changed. | |
Protected 成员函数 继承自 QwtPlotItem | |
| QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const |
| Create a default icon | |
QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time
QwtPlotTradingCurve supports candlestick or bar ( OHLC ) charts that are used in the domain of technical analysis.
While the length ( height or width depending on orientation() ) of each symbol depends on the corresponding OHLC sample the size of the other dimension can be controlled using:
The extent is a size in scale coordinates, so that the symbol width is increasing when the plot is zoomed in. Minimum/Maximum width is in widget coordinates independent from the zoom level. When setting the minimum and maximum to the same value, the width of the symbol is fixed.
Symbol styles
The default setting is QwtPlotSeriesItem::CandleStick.
| 枚举值 | |
|---|---|
| NoSymbol | Nothing is displayed |
| Bar | A line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g. one day or one hour. Tick marks project from each side of the line indicating the opening and closing price. |
| CandleStick | The range between opening/closing price are displayed as a filled box. The fill brush depends on the direction of the price movement. The box is connected to the highest/lowest values by lines. |
| UserSymbol | SymbolTypes >= UserSymbol are displayed by drawUserSymbol(), that needs to be overloaded and implemented in derived curve classes. |
|
explicit |
Constructor
| [in] | title | Title of the curve |
Constructor
| [in] | title | Title of the curve |
Destructor
|
overridevirtual |
Get the bounding rectangle of all samples
重载 QwtPlotSeriesItem .
|
protected |
Draw a bar
| [in] | painter | Qt painter, initialized with pen/brush |
| [in] | sample | Sample, already translated into paint device coordinates |
| [in] | orientation | Vertical or horizontal |
| [in] | inverted | When inverted is false the open tick is painted to the left/top, otherwise it is painted right/bottom. The close tick is painted in the opposite direction of the open tick. |
| [in] | width | Width or height of the candle, depending on the orientation |
|
protected |
Draw a candle stick
| [in] | painter | Qt painter, initialized with pen/brush |
| [in] | sample | Samples already translated into paint device coordinates |
| [in] | orientation | Vertical or horizontal |
| [in] | width | Width or height of the candle, depending on the orientation |
|
overridevirtual |
Draw an interval of the curve
| [in] | painter | Painter |
| [in] | xMap | Maps x-values into pixel coordinates. |
| [in] | yMap | Maps y-values into pixel coordinates. |
| [in] | canvasRect | Contents rectangle of the canvas |
| [in] | from | Index of the first point to be painted |
| [in] | to | Index of the last point to be painted. If to < 0 the curve will be painted to its last point. |
实现了 QwtPlotSeriesItem.
|
protectedvirtual |
Draw symbols
| [in] | painter | Painter |
| [in] | xMap | x map |
| [in] | yMap | y map |
| [in] | canvasRect | Contents rectangle of the canvas |
| [in] | from | Index of the first point to be painted |
| [in] | to | Index of the last point to be painted |
|
protectedvirtual |
Draw a symbol for a symbol style >= UserSymbol
The implementation does nothing and is intended to be overloaded
| [in] | painter | Qt painter, initialized with pen/brush |
| [in] | symbolStyle | Symbol style |
| [in] | sample | Samples already translated into paint device coordinates |
| [in] | orientation | Vertical or horizontal |
| [in] | inverted | True, when the opposite scale ( Qt::Vertical: x, Qt::Horizontal: y ) is increasing in the opposite direction as QPainter coordinates. |
| [in] | symbolWidth | Width of the symbol in paint device coordinates |
|
protected |
Initialize internal members
Sets default attributes and creates internal data storage.
|
overridevirtual |
Get a legend icon
Returns a rectangle filled with the color of the symbol pen
| [in] | index | Index of the legend entry ( usually there is only one ) |
| [in] | size | Icon size |
重载 QwtPlotItem .
| double QwtPlotTradingCurve::maxSymbolWidth | ( | ) | const |
Get the maximum for the symbol width
| double QwtPlotTradingCurve::minSymbolWidth | ( | ) | const |
Get the minimum for the symbol width
|
overridevirtual |
|
protectedvirtual |
Calculate the symbol width in paint coordinates
The width is calculated by scaling the symbol extent into paint device coordinates bounded by the minimum/maximum symbol width.
| [in] | xMap | Maps x-values into pixel coordinates. |
| [in] | yMap | Maps y-values into pixel coordinates. |
| [in] | canvasRect | Contents rectangle of the canvas |
| void QwtPlotTradingCurve::setMaxSymbolWidth | ( | double | width | ) |
Set a maximum for the symbol width
A value <= 0.0 means an unlimited width
| [in] | width | Width in paint device coordinates |
| void QwtPlotTradingCurve::setMinSymbolWidth | ( | double | width | ) |
Set a minimum for the symbol width
| [in] | width | Width in paint device coordinates |
| void QwtPlotTradingCurve::setPaintAttribute | ( | PaintAttribute | attribute, |
| bool | on = true |
||
| ) |
Specify an attribute how to draw the curve
| [in] | attribute | Paint attribute |
| [in] | on | On/Off |
| void QwtPlotTradingCurve::setSamples | ( | const QVector< QwtOHLCSample > & | samples | ) |
Initialize data with an array of samples
| [in] | samples | Vector of samples |
| void QwtPlotTradingCurve::setSamples | ( | QwtSeriesData< QwtOHLCSample > * | data | ) |
Assign a series of samples
setSamples() is just a wrapper for setData() without any additional value - beside that it is easier to find for the developer.
| [in] | data | Data |
| void QwtPlotTradingCurve::setSymbolBrush | ( | Direction | direction, |
| const QBrush & | brush | ||
| ) |
Set the symbol brush
| [in] | direction | Direction type |
| [in] | brush | Brush used to fill the body of all candlestick symbols with the direction |
| void QwtPlotTradingCurve::setSymbolExtent | ( | double | extent | ) |
Set the extent of the symbol
The width of the symbol is given in scale coordinates. When painting a symbol the width is scaled into paint device coordinates by scaledSymbolWidth(). The scaled width is bounded by minSymbolWidth(), maxSymbolWidth()
| [in] | extent | Symbol width in scale coordinates |
| void QwtPlotTradingCurve::setSymbolPen | ( | const QColor & | color, |
| qreal | width = 0.0, |
||
| Qt::PenStyle | style = Qt::SolidLine |
||
| ) |
Build and assign the symbol pen
In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.
| [in] | color | Pen color |
| [in] | width | Pen width |
| [in] | style | Pen style |
| void QwtPlotTradingCurve::setSymbolPen | ( | const QPen & | pen | ) |
Set the symbol pen
The symbol pen is used for rendering the lines of the bar or candlestick symbols
| [in] | pen | Pen |
| void QwtPlotTradingCurve::setSymbolStyle | ( | SymbolStyle | style | ) |
Set the symbol style
| [in] | style | Symbol style |
| QBrush QwtPlotTradingCurve::symbolBrush | ( | Direction | direction | ) | const |
Get the symbol brush
| [in] | direction | Direction type |
| double QwtPlotTradingCurve::symbolExtent | ( | ) | const |
Get the extent of the symbol
| QPen QwtPlotTradingCurve::symbolPen | ( | ) | const |
| QwtPlotTradingCurve::SymbolStyle QwtPlotTradingCurve::symbolStyle | ( | ) | const |
| bool QwtPlotTradingCurve::testPaintAttribute | ( | PaintAttribute | attribute | ) | const |