QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_polar_grid.h
1/******************************************************************************
2 * QwtPolar Widget Library
3 * Copyright (C) 2008 Uwe Rathmann
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the Qwt License, Version 1.0
7 *****************************************************************************/
8
9#ifndef QWT_POLAR_GRID_H
10#define QWT_POLAR_GRID_H
11
12#include "qwt_global.h"
13#include "qwt_polar.h"
14#include "qwt_polar_item.h"
15#include "qwt_polar_plot.h"
16
17class QPainter;
18class QPen;
19class QwtScaleMap;
20class QwtScaleDiv;
22class QwtScaleDraw;
23
53class QWT_EXPORT QwtPolarGrid : public QwtPolarItem
54{
55public:
70 {
81 SmartOriginLabel = 1,
82
93 HideMaxRadiusLabel = 2,
94
108 ClipAxisBackground = 4,
109
120 SmartScaleDraw = 8,
121
134 ClipGridLines = 16
135 };
136
137 Q_DECLARE_FLAGS(DisplayFlags, DisplayFlag)
138
139
151 {
162 AutoScaling = 0x01
163 };
164
165 Q_DECLARE_FLAGS(GridAttributes, GridAttribute)
166
167
168 explicit QwtPolarGrid();
170 virtual ~QwtPolarGrid();
171
173 virtual int rtti() const override;
174
176 void setDisplayFlag(DisplayFlag, bool on = true);
178 bool testDisplayFlag(DisplayFlag) const;
179
181 void setGridAttribute(GridAttribute, bool on = true);
183 bool testGridAttribute(GridAttribute) const;
184
186 void showGrid(int scaleId, bool show = true);
188 bool isGridVisible(int scaleId) const;
189
191 void showMinorGrid(int scaleId, bool show = true);
193 bool isMinorGridVisible(int scaleId) const;
194
196 void showAxis(int axisId, bool show = true);
198 bool isAxisVisible(int axisId) const;
199
201 void setPen(const QPen& p);
203 void setFont(const QFont&);
204
206 void setMajorGridPen(const QPen& p);
208 void setMajorGridPen(int scaleId, const QPen& p);
210 QPen majorGridPen(int scaleId) const;
211
213 void setMinorGridPen(const QPen& p);
215 void setMinorGridPen(int scaleId, const QPen& p);
217 QPen minorGridPen(int scaleId) const;
218
220 void setAxisPen(int axisId, const QPen& p);
222 QPen axisPen(int axisId) const;
223
225 void setAxisFont(int axisId, const QFont& p);
227 QFont axisFont(int axisId) const;
228
230 void setScaleDraw(int axisId, QwtScaleDraw*);
232 const QwtScaleDraw* scaleDraw(int axisId) const;
234 QwtScaleDraw* scaleDraw(int axisId);
235
237 void setAzimuthScaleDraw(QwtRoundScaleDraw*);
239 const QwtRoundScaleDraw* azimuthScaleDraw() const;
241 QwtRoundScaleDraw* azimuthScaleDraw();
242
244 virtual void draw(QPainter* p,
245 const QwtScaleMap& azimuthMap,
246 const QwtScaleMap& radialMap,
247 const QPointF& pole,
248 double radius,
249 const QRectF& rect) const override;
250
252 virtual void updateScaleDiv(const QwtScaleDiv& azimuthMap, const QwtScaleDiv& radialMap, const QwtInterval&) override;
253
255 virtual int marginHint() const override;
256
257protected:
259 void drawRays(QPainter*,
260 const QRectF&,
261 const QPointF& pole,
262 double radius,
263 const QwtScaleMap& azimuthMap,
264 const QList< double >&) const;
266 void drawCircles(QPainter*, const QRectF&, const QPointF& pole, const QwtScaleMap& radialMap, const QList< double >&) const;
267
269 void drawAxis(QPainter*, int axisId) const;
270
271private:
272 void updateScaleDraws(const QwtScaleMap& azimuthMap,
273 const QwtScaleMap& radialMap,
274 const QPointF& pole,
275 const double radius) const;
276
277private:
278 class PrivateData;
279 PrivateData* m_data;
280};
281
282Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPolarGrid::DisplayFlags)
283Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPolarGrid::GridAttributes)
284
285#endif
表示区间的类
Definition qwt_interval.h:45
在极坐标图上绘制刻度和网格线的绘图项
Definition qwt_polar_grid.h:54
GridAttribute
网格属性
Definition qwt_polar_grid.h:151
DisplayFlag
绘制刻度和网格线时避免冲突的显示标志
Definition qwt_polar_grid.h:70
极坐标绘图项的基类
Definition qwt_polar_item.h:44
virtual void draw(QPainter *painter, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, double radius, const QRectF &canvasRect) const =0
virtual void updateScaleDiv(const QwtScaleDiv &, const QwtScaleDiv &, const QwtInterval &)
Update the scale division
Definition qwt_polar_item.cpp:593
virtual int marginHint() const
Get the margin hint
Definition qwt_polar_item.cpp:689
virtual int rtti() const
Get the runtime type information
Definition qwt_polar_item.cpp:148
用于绘制圆形刻度的类
Definition qwt_round_scale_draw.h:58
A class representing a scale division/表示刻度划分的类
Definition qwt_scale_div.h:53
用于绘制刻度的类
Definition qwt_scale_draw.h:62
刻度映射
Definition qwt_scale_map.h:52