QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_plot_item.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_ITEM_H
28#define QWT_PLOT_ITEM_H
29
30#include "qwt_global.h"
31#include "qwt_axis_id.h"
32#include <qmetatype.h>
33
34class QwtScaleMap;
35class QwtScaleDiv;
36class QwtPlot;
37class QwtText;
38class QwtGraphic;
39class QwtLegendData;
40class QRectF;
41class QPainter;
42class QString;
43template< typename T >
44class QList;
45
118class QWT_EXPORT QwtPlotItem
119{
120public:
203
224 {
226 Legend = 0x01,
227
233 AutoScale = 0x02,
234
240 Margins = 0x04
241 };
242
243 Q_DECLARE_FLAGS(ItemAttributes, ItemAttribute)
244
245
264 {
276 ScaleInterest = 0x01,
277
295 LegendInterest = 0x02
296 };
297
298 Q_DECLARE_FLAGS(ItemInterests, ItemInterest)
299
300
310 {
312 RenderAntialiased = 0x1
313 };
314
315 Q_DECLARE_FLAGS(RenderHints, RenderHint)
316
317
318 explicit QwtPlotItem();
320 explicit QwtPlotItem(const QString& title);
322 explicit QwtPlotItem(const QwtText& title);
323
325 virtual ~QwtPlotItem();
326
328 void attach(QwtPlot* plot);
330 void detach();
331
333 QwtPlot* plot() const;
334
336 void setTitle(const QString& title);
338 void setTitle(const QwtText& title);
340 const QwtText& title() const;
341
343 virtual int rtti() const;
344
346 void setItemAttribute(ItemAttribute, bool on = true);
348 bool testItemAttribute(ItemAttribute) const;
349
351 void setItemInterest(ItemInterest, bool on = true);
353 bool testItemInterest(ItemInterest) const;
354
356 void setRenderHint(RenderHint, bool on = true);
358 bool testRenderHint(RenderHint) const;
359
361 void setRenderThreadCount(uint numThreads);
363 uint renderThreadCount() const;
364
366 void setLegendIconSize(const QSize&);
368 QSize legendIconSize() const;
369
371 double z() const;
373 void setZ(double z);
374
376 void show();
378 void hide();
380 virtual void setVisible(bool);
382 bool isVisible() const;
383
385 void setAxes(QwtAxisId xAxis, QwtAxisId yAxis);
386
388 void setXAxis(QwtAxisId);
390 QwtAxisId xAxis() const;
391
393 void setYAxis(QwtAxisId);
395 QwtAxisId yAxis() const;
396
398 virtual void itemChanged();
400 virtual void legendChanged();
401
421 virtual void draw(QPainter* painter, const QwtScaleMap& xMap, const QwtScaleMap& yMap, const QRectF& canvasRect) const = 0;
422
424 virtual QRectF boundingRect() const;
425
427 virtual void getCanvasMarginHint(const QwtScaleMap& xMap,
428 const QwtScaleMap& yMap,
429 const QRectF& canvasRect,
430 double& left,
431 double& top,
432 double& right,
433 double& bottom) const;
434
436 virtual void updateScaleDiv(const QwtScaleDiv&, const QwtScaleDiv&);
437
439 virtual void updateLegend(const QwtPlotItem*, const QList< QwtLegendData >&);
440
442 QRectF scaleRect(const QwtScaleMap&, const QwtScaleMap&) const;
444 QRectF paintRect(const QwtScaleMap&, const QwtScaleMap&) const;
445
447 virtual QList< QwtLegendData > legendData() const;
448
450 virtual QwtGraphic legendIcon(int index, const QSizeF&) const;
451
452protected:
454 QwtGraphic defaultIcon(const QBrush&, const QSizeF&) const;
455
456private:
457 Q_DISABLE_COPY(QwtPlotItem)
458
459 class PrivateData;
460 PrivateData* m_data;
461};
462
463Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPlotItem::ItemAttributes)
464Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPlotItem::ItemInterests)
465Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPlotItem::RenderHints)
466
467Q_DECLARE_METATYPE(QwtPlotItem*)
468
469#endif
Definition qwt_dyngrid_layout.h:33
可缩放图形的绘制设备
Definition qwt_graphic.h:128
图例条目的属性
Definition qwt_legend_data.h:60
绘图画布上项目的基类
Definition qwt_plot_item.h:119
virtual void draw(QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const =0
绘制项目
RttiValues
运行时类型信息
Definition qwt_plot_item.h:136
@ Rtti_PlotVectorField
For QwtPlotVectorField
Definition qwt_plot_item.h:189
@ Rtti_PlotLegend
For QwtPlotLegendItem
Definition qwt_plot_item.h:147
@ Rtti_PlotMarker
For QwtPlotMarker
Definition qwt_plot_item.h:150
@ Rtti_PlotSpectroCurve
For QwtPlotSpectroCurve
Definition qwt_plot_item.h:156
@ Rtti_PlotScale
For QwtPlotScaleItem
Definition qwt_plot_item.h:144
@ Rtti_PlotArrowMarker
For QwtPlotArrowMarker
Definition qwt_plot_item.h:192
@ Rtti_PlotHistogram
For QwtPlotHistogram
Definition qwt_plot_item.h:162
@ Rtti_PlotZone
For QwtPlotZoneItem
Definition qwt_plot_item.h:186
@ Rtti_PlotIntervalCurve
For QwtPlotIntervalCurve
Definition qwt_plot_item.h:159
@ Rtti_PlotMultiBarChart
For QwtPlotMultiBarChart
Definition qwt_plot_item.h:177
@ Rtti_PlotBarChart
For QwtPlotBarChart
Definition qwt_plot_item.h:174
@ Rtti_PlotTradingCurve
For QwtPlotTradingCurve
Definition qwt_plot_item.h:171
@ Rtti_PlotBoxChart
Boxplot chart item
Definition qwt_plot_item.h:195
@ Rtti_PlotSpectrogram
For QwtPlotSpectrogram
Definition qwt_plot_item.h:165
@ Rtti_PlotTextLabel
For QwtPlotTextLabel
Definition qwt_plot_item.h:183
@ Rtti_PlotShape
For QwtPlotShapeItem
Definition qwt_plot_item.h:180
@ Rtti_PlotGrid
For QwtPlotGrid
Definition qwt_plot_item.h:141
@ Rtti_PlotCurve
For QwtPlotCurve
Definition qwt_plot_item.h:153
@ Rtti_PlotGraphic
For QwtPlotGraphicItem, QwtPlotSvgItem
Definition qwt_plot_item.h:168
RenderHint
渲染提示
Definition qwt_plot_item.h:310
ItemAttribute
绘图项属性
Definition qwt_plot_item.h:224
ItemInterest
绘图项关注的事件类型
Definition qwt_plot_item.h:264
二维绘图部件
Definition qwt_plot.h:138
A class representing a scale division/表示刻度划分的类
Definition qwt_scale_div.h:53
刻度映射
Definition qwt_scale_map.h:52
表示文本的类
Definition qwt_text.h:93