1qwtchangelog(3) Qwt User's Guide qwtchangelog(3)
2
3
4
6 qwtchangelog - What's new in Qwt 6.1
7
8
10 · QwtPlotBarChart
11 Bar chart, see 'examples/distrowatch'
12
13 · QwtPlotMultiBarChart
14 Chart of grouped bars - stacked or aligned side by side. See
15 'examples/barchart'
16
17 · QwtPlotTradingCurve
18 Candlestick or OHLC charts typically used to describe price
19 movements over time. See 'examples/stockchart'
20
21 · QwtPlotShapeItem
22 A plot item to display rectangles, circles, polygons and all other
23 type of shapes ( built from intersections or unifications ), that can
24 be expressed by a QPainterPath. See 'examples/itemeditor'
25
26 · QwtPlotLegendItem
27 A legend on the plot canvas. See 'examples/legends'
28
29 · QwtPlotZoneItem
30 A horizontal or vertical section
31
32 · QwtPlotTextLabel
33 In opposite to a QwtPlotMarker the text is not aligned to a plot
34 coordinate but according to the geometry of the canvas ( f.e
35 top/centered for a title ). See 'playground/curvetracker'.
36
38 QwtScaleTransformation has been replaced by QwtTransform and its
39 derived classes:
40
41 · QwtTransform
42
43 · QwtNullTransform
44
45 · QwtLogTransform
46
47 · QwtPowerTransform
48
49 Individual transformations ( f.e. different scaling for special
50 sections ) can be implemented by overloading QwtTransform ( see
51 playground/scaleengine ).
52
53 QwtLinearScaleEngine and QwtLogScaleEngine are not limited to base 10
54 anymore.
55
56 Datetime scales
57 A set of a new classes for displaying datetime values:
58
59 · QwtDate
60 A collection of methods to convert between QDateTime and doubles
61
62 · QwtDateScaleEngine
63 A scale engine that aligns and finds ticks in terms of datetime
64 units.
65
66 · QwtDateScaleDraw
67 A scale draw mapping values to datetime strings.
68
69 Scales for Qt::UTC and Qt::LocalTime are supported.
70
72 Many parts of the class design of the dial and meter widgets were left
73 over from the 90s ( Qwt 0.2, Qt 1.1 ).
74
75 The derivation tree is simpler and more logical:
76
77 · QwtAbstractScale is a QWidget
78
79 · QwtAbstractSlider is a QwtAbstractScale. ( for sliders without scales
80 QAbstractSlider should be the base class )
81
82 · QwtThermo is also a QwtAbstractScale
83
84 · QwtDial, QwtKnob, QwtSlider are derived from QwtAbstractSlider
85
86 · QwtCounter is derived from QWidget
87
88 QwtDoubleRange has been removed.
89
90 All classes use the terminology known from QAbstractSlider - as far as
91 possible. The extended system for scales is completely supported.
92
94 QwtPlotGLCanvas offers the option to draw plot items using an OpenGL
95 paint engine ( QPaintEngine::OpenGL/OpenGL2 ), This is not what could
96 be implemented with native OpenGL, but it offers hardware acceleration
97 in environments, where the raster paint engine is the only option. (
98 f.e Qt4/Windows, or Qt5 on all platforms ).
99
100 QwtPlotGLCanvas is in an experimental state and is not recommended for
101 average use cases.
102
104 QwtLegend has been decoupled from QwtPlot and can be replaced by
105 application specific implementations. Plot items and the legend
106 exchange the information using QwtLegendData.
107
108 QwtPlotLegendItem is a new plot item that displays a legend on the plot
109 canvas.
110
111 The following examples demonstrate how to use the new system:
112
113 · examples/legends
114 shows how to use the new legend system
115
116 · examples/stockchart
117 implementats a QTreeView with checkable items as legend
118
120 QwtGraphic can be copied like QImage or QPixmap but is scalable like
121 QSvgGenerator. It is implemented as a record/replay paint device like
122 QPicture.
123
125 QwtWidgetOverlay is a base class for implementing widget overlays -
126 primarily used for use cases like graphical editors or running cursors
127 for the plot canvas.
128
129 The following examples show how to use overlays:
130
131 · examples/itemeditor
132
133 · examples/curvetracker
134
135 QwtPicker ( -> QwtPlotPicker, QwtPlotZoomer ) internally uses
136 QwtWidgetOverlay now, making it easier to implement individual rubber
137 bands.
138
140 New symbol types have been introduced:
141
142 · QwtSymbol::Path
143
144 · QwtSymbol::Pixmap
145
146 · QwtSymbol::Graphic
147
148 · QwtSymbol::SvgDocument
149
150 QwtSymbol autodetect the most performant paint strategy for a paint
151 device what is in most situations using a QPixmap cache.
152
153 QwtSymbol::setPinPoint() allows one to align the symbol individually,
154 f.e to the position of the peak of an arrow.
155
157 Some optimizations that got lost with introducing the floating point
158 based render code with Qwt 6.0 have been reenabled. Other specific
159 optimizations have been added.
160
161 New paint attributes:
162
163 · QwtPlotCurve::FilterPoints
164
165 · QwtPlotCurve::MinimizeMemory
166
167 · QwtPlotCurve::ImageBuffer
168
169 QwtPlotCurve::CacheSymbols has been removed, as caching is implemented
170 in QwtSymbol now.
171
172 QwtPlotCurve::drawLines(), QwtPlotCurve::drawDots(),
173 QwtPlotCurve::drawSteps() and QwtPlotCurve::drawSticks() are virtual
174 now.
175
177 A footer similar to a title has been added.
178
179 QwtPlot::ExternalLegend is obsolete with the new system for legends.
180 The signals QwtPlot::legendClicked(), QwtPlot::legendChecked() have
181 been removed. Applications need to connect to QwtLegend::clicked() and
182 QwtLegend::checked().
183
184 To support using an OpenGL canvas QwtPlot::setCanvas has been added.
185 This has 2 important implications for the application code:
186
187 · QwtPlot::canvas() returns QWidget and needs to be casted, when using
188 methods of QwtPlotCanvas.
189
190 · QwtPlotCanvas can be created and assigned in application code, what
191 makes it possible to derive and overload methods.
192
193 The initialization of a plot canvas with Qwt 6.1 will probably look
194 like this:
195
196 QwtPlotCanvas* canvas = new QwtPlotCanvas();
197 canvas->setXY( ... );
198 ...
199
200 plot->setCanvas( canvas );
201
202 To have a consistent API QwtPlot::setPlotLayout() has been added,
203
205 QwtScaleDiv
206 The following methods have been added:
207
208 · QwtScaleDiv::inverted()
209
210 · QwtScaleDiv::bounded()
211
212 · QwtScaleDiv::isEmpty()
213
214 · QwtScaleDiv::isIncreasing()
215
216 · QDebug operator
217
218 The following methods have been removed:
219
220 · QwtScaleDiv::isValid(), QwtScaleDiv::invalidate()
221 The valid state was left over from early Qwt versions indicating a
222 state of the autoscaler.
223
224 QwtScaleEngine
225 The following methods have been added:
226
227 · QwtScaleEngine::setBase()
228
229 · QwtScaleEngine::setTransformation()
230
231 QwtPlotLayout
232 The following flags have been added:
233
234 · QwtPlotLayout::IgnoreTitle
235
236 · QwtPlotLayout::IgnoreFooter
237
238 · QwtPlotLayout::setAlignCanvasToScale()
239
240 QwtPlotCanvas
241 Rounded borders ( like with style sheets ) can configured using
242 QwtPlotCanvas::setBorderRadius();
243
244 Other changes
245 · QwtWeedingCurveFitter
246 QwtWeedingCurveFitter::setChunkSize() has been added, with drastic
247 performance improvements for huge sets of points.
248
249 · QwtPlotRenderer The frame of the plot canvas can be rendered, what
250 makes the result even closer to WYSWYG. QwtPlotRenderer::exportTo()
251 has been added.
252
253 · QwtSystemClock For Qt >= 4.9 QwtSystemClock uses QElapsedTimer
254 internally. As it doesn't support a similar feature,
255 QwtSystemClock::precision() has been removed.
256
257 · QwtPlotAbstractSeriesItem
258 QwtPlotAbstractSeriesItem has been split into QwtPlotSeriesItem and
259 QwtPlotAbstractSeriesStore.
260
261 · QwtText
262 A metatype declaration has been added, so that QwtText can be used
263 with QVariant.
264
265 · QwtEventPattern, QwtPanner, QwtMagnifier
266 Forgotten Qt3 leftovers have been fixed: int ->
267 Qt::KeyboardModifiers
268
269 · QPen Qt5/Qt4 incompatibility The default pen width for Qt5 is 1, what
270 makes it a non cosmetic. To hide this nasty incompatibility several
271 setPen() methods have been added the build pens with a width 0. See
272 QPen::isCosmetic(),
273
274 · qwtUpperSampleIndex()
275 A binary search algorithm for sorted samples
276
277 · QwtMatrixRasterData QwtMatrixRasterData::setValue() has been added
278
279 · QwtPicker QwtPicker::rubberBandWidget(), QwtPicker::trackerWidget()
280 have been replaced by QwtPicker::rubberBandOverlay(),
281 QwtPicker::trackerOverlay(). QwtPicker::rubberBandMask() has been
282 added. QwtPicker::pickRect() has been replaced by
283 QwtPicker::pickArea()
284
285 · QwtPlotItem QwtPlotItem::ItemInterest has been added.
286 QwtPlotItem::setRenderThreadCount() was shifted from
287 QwtPlotRasterItem.
288
289 · ...
290
292 · QwtAbstractLegend
293
294 · QwtDate
295
296 · QwtDateScaleDraw
297
298 · QwtDateScaleEngine
299
300 · QwtGraphic
301
302 · QwtLegendData
303
304 · QwtLegendLabel
305
306 · QwtPainterCommand
307
308 · QwtPixelMatrix
309
310 · QwtPlotAbstractBarChart
311
312 · QwtPlotBarChart
313
314 · QwtPlotMultiBarChart
315
316 · QwtPlotGLCanvas
317
318 · QwtPlotLegendItem
319
320 · QwtPlotShapeItem
321
322 · QwtPlotTextLabel
323
324 · QwtPlotTradingCurve
325
326 · QwtPlotZoneItem
327
328 · QwtPointData
329
330 · QwtPointMapper
331
332 · QwtTransform, QwtNullTransform, QwtLogTransform, QwtPowerTransform
333
334 · QwtWidgetOverlay
335
336Version 6.1.5 Mon Jun 1 2020 qwtchangelog(3)