QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_plot_spectrogram.h
1/******************************************************************************
2 * Qwt Widget Library
3 * Copyright (C) 1997 Josef Wilgen
4 * Copyright (C) 2002 Uwe Rathmann
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the Qwt License, Version 1.0
8 *
9 * Modified by ChenZongYan in 2024 <czy.t@163.com>
10 * Summary of major modifications (see ChangeLog.md for full history):
11 * 1. CMake build system & C++11 throughout.
12 * 2. Core panner/ zoomer refactored:
13 * - QwtPanner → QwtCachePanner (pixmap-cache version)
14 * - New real-time QwtPlotPanner derived from QwtPicker.
15 * 3. Zoomer supports multi-axis.
16 * 4. Parasite-plot framework:
17 * - QwtFigure, QwtPlotParasiteLayout, QwtPlotTransparentCanvas,
18 * - QwtPlotScaleEventDispatcher, built-in pan/zoom on axis.
19 * 5. New picker: QwtPlotSeriesDataPicker (works with date axis).
20 * 6. Raster & color-map extensions:
21 * - QwtGridRasterData (2-D table + interpolation)
22 * - QwtLinearColorMap::stopColors(), stopPos() API rename.
23 * 7. Bar-chart: expose pen/brush control.
24 * 8. Amalgamated build: single QwtPlot.h / QwtPlot.cpp pair in src-amalgamate.
25 *****************************************************************************/
26
27#ifndef QWT_PLOT_SPECTROGRAM_H
28#define QWT_PLOT_SPECTROGRAM_H
29
30#include "qwt_global.h"
31#include "qwt_raster_data.h"
32#include "qwt_plot_rasteritem.h"
33
34class QwtColorMap;
35template< typename T >
36class QList;
37
67class QWT_EXPORT QwtPlotSpectrogram : public QwtPlotRasterItem
68{
69public:
85 {
87 ImageMode = 0x01,
88
90 ContourMode = 0x02
91 };
92
93 Q_DECLARE_FLAGS(DisplayModes, DisplayMode)
94
95 // Constructor
96 explicit QwtPlotSpectrogram(const QString& title = QString());
97 // Destructor
98 virtual ~QwtPlotSpectrogram();
99
100 // Set a display mode
101 void setDisplayMode(DisplayMode, bool on = true);
102 // Test a display mode
103 bool testDisplayMode(DisplayMode) const;
104
105 // Set the raster data
106 void setData(QwtRasterData* data);
107 // Get the raster data (const)
108 const QwtRasterData* data() const;
109 // Get the raster data
110 QwtRasterData* data();
111
112 // Set the color map
113 void setColorMap(QwtColorMap*);
114 // Get the color map
115 const QwtColorMap* colorMap() const;
116
117 // Set the color table size
118 void setColorTableSize(int numColors);
119 // Get the color table size
120 int colorTableSize() const;
121
122 // Get the interval for an axis
123 virtual QwtInterval interval(Qt::Axis) const override;
124 // Get the pixel hint
125 virtual QRectF pixelHint(const QRectF&) const override;
126
127 // Set the default contour pen with color, width and style
128 void setDefaultContourPen(const QColor&, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine);
129 // Set the default contour pen
130 void setDefaultContourPen(const QPen&);
131 // Get the default contour pen
132 QPen defaultContourPen() const;
133
134 // Get the contour pen for a specific level
135 virtual QPen contourPen(double level) const;
136
137 // Set a conrec flag
138 void setConrecFlag(QwtRasterData::ConrecFlag, bool on);
139 // Test a conrec flag
140 bool testConrecFlag(QwtRasterData::ConrecFlag) const;
141
142 // Set the contour levels
143 void setContourLevels(const QList< double >&);
144 // Get the contour levels
145 QList< double > contourLevels() const;
146
147 // Get the runtime type information
148 virtual int rtti() const override;
149
150 // Draw the spectrogram
151 virtual void draw(QPainter*, const QwtScaleMap& xMap, const QwtScaleMap& yMap, const QRectF& canvasRect) const override;
152
153protected:
159 virtual QImage renderImage(const QwtScaleMap& xMap,
160 const QwtScaleMap& yMap,
161 const QRectF& area,
162 const QSize& imageSize) const override;
163
169 virtual QSize contourRasterSize(const QRectF&, const QRect&) const;
170
176 virtual QwtRasterData::ContourLines renderContourLines(const QRectF& rect, const QSize& raster) const;
177
183 virtual void
184 drawContourLines(QPainter*, const QwtScaleMap& xMap, const QwtScaleMap& yMap, const QwtRasterData::ContourLines&) const;
185
191 void renderTile(const QwtScaleMap& xMap, const QwtScaleMap& yMap, const QRect& tile, QImage*) const;
192
193private:
194 class PrivateData;
195 PrivateData* m_data;
196};
197
198Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPlotSpectrogram::DisplayModes)
199
200#endif
Definition qwt_dyngrid_layout.h:33
Definition qwt_compass.h:36
QwtColorMap 用于将数值映射为颜色。
Definition qwt_color_map.h:62
表示区间的类
Definition qwt_interval.h:45
virtual int rtti() const
Runtime type information
Definition qwt_plot_item.cpp:215
显示栅格数据的类
Definition qwt_plot_rasteritem.h:71
virtual void draw(QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override
绘制栅格数据
Definition qwt_plot_rasteritem.cpp:731
virtual QImage renderImage(const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &area, const QSize &imageSize) const =0
渲染图像
virtual QRectF pixelHint(const QRectF &) const
像素提示
Definition qwt_plot_rasteritem.cpp:708
virtual QwtInterval interval(Qt::Axis) const
获取轴的边界区间
Definition qwt_plot_rasteritem.cpp:904
显示频谱图的绘图项
Definition qwt_plot_spectrogram.h:68
DisplayMode
显示模式
Definition qwt_plot_spectrogram.h:85
QwtRasterData 定义了任何类型栅格数据的接口
Definition qwt_raster_data.h:79
ConrecFlag
修改等高线算法的标志
Definition qwt_raster_data.h:145
刻度映射
Definition qwt_scale_map.h:52