QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_scale_draw.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_SCALE_DRAW_H
28#define QWT_SCALE_DRAW_H
29
30#include "qwt_global.h"
31#include "qwt_abstract_scale_draw.h"
32
33#include <qpoint.h>
34
35class QTransform;
36class QSizeF;
37class QRectF;
38class QRect;
39
61class QWT_EXPORT QwtScaleDraw : public QwtAbstractScaleDraw
62{
63 public:
75 {
78
81
84
86 RightScale
87 };
88
90 virtual ~QwtScaleDraw();
91
93 void getBorderDistHint( const QFont&, int& start, int& end ) const;
95 int minLabelDist( const QFont& ) const;
96
98 int minLength( const QFont& ) const;
99 virtual double extent( const QFont& ) const override;
100
101 void move( double x, double y );
102 void move( const QPointF& );
103 void setLength( double length );
104
106 Alignment alignment() const;
108 void setAlignment( Alignment );
109
111 Qt::Orientation orientation() const;
112
114 QPointF pos() const;
116 double length() const;
117
119 void setLabelAlignment( Qt::Alignment );
121 Qt::Alignment labelAlignment() const;
122
124 void setLabelRotation( double rotation );
126 double labelRotation() const;
127
129 int maxLabelHeight( const QFont& ) const;
131 int maxLabelWidth( const QFont& ) const;
132
134 QPointF labelPosition( double value ) const;
135
137 QRectF labelRect( const QFont&, double value ) const;
139 QSizeF labelSize( const QFont&, double value ) const;
140
142 QRect boundingLabelRect( const QFont&, double value ) const;
143
144 protected:
145 QTransform labelTransformation( const QPointF&, const QSizeF& ) const;
146
147 virtual void drawTick( QPainter*, double value, double len ) const override;
148
149 virtual void drawBackbone( QPainter* ) const override;
150 virtual void drawLabel( QPainter*, double value ) const override;
151
152 private:
153 void updateMap();
154
155 class PrivateData;
156 PrivateData* m_data;
157};
158
173inline void QwtScaleDraw::move( double x, double y )
174{
175 move( QPointF( x, y ) );
176}
177
178#endif
绘制刻度的抽象基类
Definition qwt_abstract_scale_draw.h:55
virtual void drawBackbone(QPainter *painter) const =0
绘制刻度的基线
virtual void drawTick(QPainter *painter, double value, double len) const =0
绘制刻度线
virtual void drawLabel(QPainter *painter, double value) const =0
绘制主刻度标签
用于绘制刻度的类
Definition qwt_scale_draw.h:62
void move(double x, double y)
移动刻度的位置
Definition qwt_scale_draw.h:173
Alignment
刻度绘制的对齐方式
Definition qwt_scale_draw.h:75
@ BottomScale
The scale is below
Definition qwt_scale_draw.h:77
@ TopScale
The scale is above
Definition qwt_scale_draw.h:80
@ LeftScale
The scale is left
Definition qwt_scale_draw.h:83