QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_plot_layout.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_LAYOUT_H
28#define QWT_PLOT_LAYOUT_H
29
30#include "qwt_global.h"
31#include "qwt_plot.h"
32#include "qwt_axis_id.h"
34
52class QWT_EXPORT QwtPlotLayout
53{
54public:
66 enum Option
67 {
77 AlignScales = 0x01,
78
90 IgnoreScrollbars = 0x02,
91
101 IgnoreFrames = 0x04,
102
112 IgnoreLegend = 0x08,
113
123 IgnoreTitle = 0x10,
124
134 IgnoreFooter = 0x20
135 };
136
137 Q_DECLARE_FLAGS( Options, Option )
138
139 explicit QwtPlotLayout();
140 virtual ~QwtPlotLayout();
141
142 void setCanvasMargin( int margin, int axis = -1 );
143 int canvasMargin( int axisId ) const;
144
145 void setAlignCanvasToScales( bool );
146 void setAlignCanvasToScale( int axisId, bool );
147 bool alignCanvasToScale( int axisId ) const;
148
149 void setSpacing( int );
150 int spacing() const;
151
152 void setLegendPosition( QwtPlot::LegendPosition pos, double ratio );
153 void setLegendPosition( QwtPlot::LegendPosition pos );
154 QwtPlot::LegendPosition legendPosition() const;
155
156 void setLegendRatio( double ratio );
157 double legendRatio() const;
158
159 virtual QSize minimumSizeHint( const QwtPlot* ) const;
160 virtual void activate( const QwtPlot* plot, const QRectF& plotRect,
161 Options options = Options() );
162 virtual void invalidate();
163
164 QRectF titleRect() const;
165 QRectF footerRect() const;
166 QRectF legendRect() const;
167 QRectF scaleRect( QwtAxisId ) const;
168 QRectF canvasRect() const;
169
170protected:
171 void setTitleRect( const QRectF& );
172 void setFooterRect( const QRectF& );
173 void setLegendRect( const QRectF& );
174 void setScaleRect( QwtAxisId, const QRectF& );
175 void setCanvasRect( const QRectF& );
176 QwtPlotLayoutEngine* layoutEngine();
177 void doActivate( const QwtPlot* plot, const QRectF& plotRect,
178 Options options = Options() );
179
180private:
181 Q_DISABLE_COPY( QwtPlotLayout )
182
183 class PrivateData;
184 PrivateData* m_data;
185};
186
187Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotLayout::Options )
188
189#endif
QwtPlot组件的布局引擎
Definition qwt_plot_layout_engine.h:29
QwtPlot 的布局引擎
Definition qwt_plot_layout.h:53
Option
用于配置绘图布局引擎的选项
Definition qwt_plot_layout.h:67
二维绘图部件
Definition qwt_plot.h:138
LegendPosition
图例相对于画布的位置
Definition qwt_plot.h:162