QWT API (中文) 7.3.0
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
39class QWT_EXPORT QwtPolarGrid : public QwtPolarItem
40{
41public:
48 {
53 SmartOriginLabel = 1,
54
59 HideMaxRadiusLabel = 2,
60
67 ClipAxisBackground = 4,
68
73 SmartScaleDraw = 8,
74
80 ClipGridLines = 16
81 };
82
83 Q_DECLARE_FLAGS(DisplayFlags, DisplayFlag)
84
85
90 {
95 AutoScaling = 0x01
96 };
97
98 Q_DECLARE_FLAGS(GridAttributes, GridAttribute)
99
100
101 explicit QwtPolarGrid();
103 ~QwtPolarGrid() override;
104
106 virtual int rtti() const override;
107
109 void setDisplayFlag(DisplayFlag, bool on = true);
111 bool testDisplayFlag(DisplayFlag) const;
112
114 void setGridAttribute(GridAttribute, bool on = true);
116 bool testGridAttribute(GridAttribute) const;
117
119 void showGrid(int scaleId, bool show = true);
121 bool isGridVisible(int scaleId) const;
122
124 void showMinorGrid(int scaleId, bool show = true);
126 bool isMinorGridVisible(int scaleId) const;
127
129 void showAxis(int axisId, bool show = true);
131 bool isAxisVisible(int axisId) const;
132
134 void setPen(const QPen& p);
136 void setFont(const QFont&);
137
139 void setMajorGridPen(const QPen& p);
141 void setMajorGridPen(int scaleId, const QPen& p);
143 QPen majorGridPen(int scaleId) const;
144
146 void setMinorGridPen(const QPen& p);
148 void setMinorGridPen(int scaleId, const QPen& p);
150 QPen minorGridPen(int scaleId) const;
151
153 void setAxisPen(int axisId, const QPen& p);
155 QPen axisPen(int axisId) const;
156
158 void setAxisFont(int axisId, const QFont& p);
160 QFont axisFont(int axisId) const;
161
163 void setScaleDraw(int axisId, QwtScaleDraw*);
165 const QwtScaleDraw* scaleDraw(int axisId) const;
167 QwtScaleDraw* scaleDraw(int axisId);
168
170 void setAzimuthScaleDraw(QwtRoundScaleDraw*);
172 const QwtRoundScaleDraw* azimuthScaleDraw() const;
174 QwtRoundScaleDraw* azimuthScaleDraw();
175
177 virtual void draw(QPainter* p,
178 const QwtScaleMap& azimuthMap,
179 const QwtScaleMap& radialMap,
180 const QPointF& pole,
181 double radius,
182 const QRectF& rect) const override;
183
185 virtual void updateScaleDiv(const QwtScaleDiv& azimuthMap, const QwtScaleDiv& radialMap, const QwtInterval&) override;
186
188 virtual int marginHint() const override;
189
190protected:
192 void drawRays(QPainter*,
193 const QRectF&,
194 const QPointF& pole,
195 double radius,
196 const QwtScaleMap& azimuthMap,
197 const QList< double >&) const;
199 void drawCircles(QPainter*, const QRectF&, const QPointF& pole, const QwtScaleMap& radialMap, const QList< double >&) const;
200
202 void drawAxis(QPainter*, int axisId) const;
203
204private:
205 void updateScaleDraws(const QwtScaleMap& azimuthMap,
206 const QwtScaleMap& radialMap,
207 const QPointF& pole,
208 const double radius) const;
209
210private:
211 QWT_DECLARE_PRIVATE(QwtPolarGrid)
212};
213
214Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPolarGrid::DisplayFlags)
215Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPolarGrid::GridAttributes)
216
217#endif
A class representing an interval
Definition qwt_interval.h:39
An item which draws scales and grid lines on a polar plot
Definition qwt_polar_grid.h:40
GridAttribute
Grid attributes
Definition qwt_polar_grid.h:90
~QwtPolarGrid() override
Destructor
DisplayFlag
Display flags to avoid conflicts when painting scales and grid lines
Definition qwt_polar_grid.h:48
Base class for items on a polar plot
Definition qwt_polar_item.h:35
virtual void draw(QPainter *painter, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, double radius, const QRectF &canvasRect) const =0
Draw the item
virtual void updateScaleDiv(const QwtScaleDiv &, const QwtScaleDiv &, const QwtInterval &)
Update the scale division
Definition qwt_polar_item.cpp:390
virtual int marginHint() const
Get the margin hint
Definition qwt_polar_item.cpp:451
virtual int rtti() const
Get the runtime type information
Definition qwt_polar_item.cpp:103
A class for drawing round scales
Definition qwt_round_scale_draw.h:47
A class representing a scale division
Definition qwt_scale_div.h:47
A class for drawing scales
Definition qwt_scale_draw.h:52
A scale map
Definition qwt_scale_map.h:44