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 to align the symbol individually, f.e
154 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 QwtPlotCurve::drawLines(), QwtPlotCurve::drawDots(),
172 QwtPlotCurve::drawSteps() and QwtPlotCurve::drawSticks() are virtual
173 now.
174
176 A footer similar to a title has been added.
177
178 QwtPlot::ExternalLegend is obsolete with the new system for legends.
179 The signals QwtPlot::legendClicked(), QwtPlot::legendChecked() have
180 been removed. Applications need to connect to QwtLegend::clicked() and
181 QwtLegend::checked().
182
183 To support using an OpenGL canvas QwtPlot::setCanvas has been added.
184 This has 2 important implications for the application code:
185
186 · QwtPlot::canvas() returns QWidget and needs to be casted, when using
187 methods of QwtPlotCanvas.
188
189 · QwtPlotCanvas can be created and assigned in application code, what
190 makes it possible to derive and overload methods.
191
192 The initialization of a plot canvas with Qwt 6.1 will probably look
193 like this:
194
195 QwtPlotCanvas* canvas = new QwtPlotCanvas();
196 canvas->setXY( ... );
197 ...
198
199 plot->setCanvas( canvas );
200
201 To have a consistent API QwtPlot::setPlotLayout() has been added,
202
204 QwtScaleDiv
205 The following methods have been added:
206
207 · QwtScaleDiv::inverted()
208
209 · QwtScaleDiv::bounded()
210
211 · QwtScaleDiv::isEmpty()
212
213 · QwtScaleDiv::isIncreasing()
214
215 · QDebug operator
216
217 The following methods have been removed:
218
219 · QwtScaleDiv::isValid(), QwtScaleDiv::invalidate()
220 The valid state was left over from early Qwt versions indicating a
221 state of the autoscaler.
222
223 QwtScaleEngine
224 The following methods have been added:
225
226 · QwtScaleEngine::setBase()
227
228 · QwtScaleEngine::setTransformation()
229
230 QwtPlotLayout
231 The following flags have been added:
232
233 · QwtPlotLayout::IgnoreTitle
234
235 · QwtPlotLayout::IgnoreFooter
236
237 · QwtPlotLayout::setAlignCanvasToScale()
238
239 QwtPlotCanvas
240 Rounded borders ( like with style sheets ) can configured using
241 QwtPlotCanvas::setBorderRadius();
242
243 Other changes
244 · QwtWeedingCurveFitter
245 QwtWeedingCurveFitter::setChunkSize() has been added, with drastic
246 performance improvements for huge sets of points.
247
248 · QwtPlotRenderer The frame of the plot canvas can be rendered, what
249 makes the result even closer to WYSWYG. QwtPlotRenderer::exportTo()
250 has been added.
251
252 · QwtSystemClock For Qt >= 4.9 QwtSystemClock uses QElapsedTimer
253 internally. As it doesn't support a similar feature,
254 QwtSystemClock::precision() has been removed.
255
256 · QwtPlotAbstractSeriesItem
257 QwtPlotAbstractSeriesItem has been split into QwtPlotSeriesItem and
258 QwtPlotAbstractSeriesStore.
259
260 · QwtText
261 A metatype declaration has been added, so that QwtText can be used
262 with QVariant.
263
264 · QwtEventPattern, QwtPanner, QwtMagnifier
265 Forgotten Qt3 leftovers have been fixed: int ->
266 Qt::KeyboardModifiers
267
268 · QPen Qt5/Qt4 incompatibility The default pen width for Qt5 is 1, what
269 makes it a non cosmetic. To hide this nasty incompatibility several
270 setPen() methods have been added the build pens with a width 0. See
271 QPen::isCosmetic(),
272
273 · qwtUpperSampleIndex()
274 A binary search algorithm for sorted samples
275
276 · QwtMatrixRasterData QwtMatrixRasterData::setValue() has been added
277
278 · QwtPicker QwtPicker::rubberBandWidget(), QwtPicker::trackerWidget()
279 have been replaced by QwtPicker::rubberBandOverlay(),
280 QwtPicker::trackerOverlay(). QwtPicker::rubberBandMask() has been
281 added. QwtPicker::pickRect() has been replaced by
282 QwtPicker::pickArea()
283
284 · QwtPlotItem QwtPlotItem::ItemInterest has been added.
285 QwtPlotItem::setRenderThreadCount() was shifted from
286 QwtPlotRasterItem.
287
288 · ...
289
291 · QwtAbstractLegend
292
293 · QwtDate
294
295 · QwtDateScaleDraw
296
297 · QwtDateScaleEngine
298
299 · QwtGraphic
300
301 · QwtLegendData
302
303 · QwtLegendLabel
304
305 · QwtPainterCommand
306
307 · QwtPixelMatrix
308
309 · QwtPlotAbstractBarChart
310
311 · QwtPlotBarChart
312
313 · QwtPlotMultiBarChart
314
315 · QwtPlotGLCanvas
316
317 · QwtPlotLegendItem
318
319 · QwtPlotShapeItem
320
321 · QwtPlotTextLabel
322
323 · QwtPlotTradingCurve
324
325 · QwtPlotZoneItem
326
327 · QwtPointData
328
329 · QwtPointMapper
330
331 · QwtTransform, QwtNullTransform, QwtLogTransform, QwtPowerTransform
332
333 · QwtWidgetOverlay
334
335Version 6.1.4 Wed Jan 2 2019 qwtchangelog(3)