QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_plot_grid.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_GRID_H
28#define QWT_PLOT_GRID_H
29
30#include "qwt_global.h"
31#include "qwt_plot_item.h"
32
33class QPainter;
34class QPen;
35class QwtScaleMap;
36class QwtScaleDiv;
37
50class QWT_EXPORT QwtPlotGrid : public QwtPlotItem
51{
52public:
53 // Constructor
54 explicit QwtPlotGrid();
55
56 // Destructor
57 ~QwtPlotGrid() override;
58
59 // Get the runtime type information
60 virtual int rtti() const override;
61
62 // Enable/disable x-axis grid
63 void enableX(bool);
64
65 // Check if x-axis grid is enabled
66 bool xEnabled() const;
67
68 // Enable/disable y-axis grid
69 void enableY(bool);
70
71 // Check if y-axis grid is enabled
72 bool yEnabled() const;
73
74 // Enable/disable minor x-axis grid
75 void enableXMin(bool);
76
77 // Check if minor x-axis grid is enabled
78 bool xMinEnabled() const;
79
80 // Enable/disable minor y-axis grid
81 void enableYMin(bool);
82
83 // Check if minor y-axis grid is enabled
84 bool yMinEnabled() const;
85
86 // Set x-axis scale division
87 void setXDiv(const QwtScaleDiv&);
88
89 // Get x-axis scale division
90 const QwtScaleDiv& xScaleDiv() const;
91
92 // Set y-axis scale division
93 void setYDiv(const QwtScaleDiv&);
94
95 // Get y-axis scale division
96 const QwtScaleDiv& yScaleDiv() const;
97
98 // Set pen for both major and minor grid lines
99 void setPen(const QColor&, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine);
100
101 // Set pen for both major and minor grid lines
102 void setPen(const QPen&);
103
104 // Set pen for major grid lines
105 void setMajorPen(const QColor&, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine);
106
107 // Set pen for major grid lines
108 void setMajorPen(const QPen&);
109
110 // Get pen for major grid lines
111 const QPen& majorPen() const;
112
113 // Set pen for minor grid lines
114 void setMinorPen(const QColor&, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine);
115
116 // Set pen for minor grid lines
117 void setMinorPen(const QPen&);
118
119 // Get pen for minor grid lines
120 const QPen& minorPen() const;
121
122 // Draw the grid
123 virtual void draw(QPainter*, const QwtScaleMap& xMap, const QwtScaleMap& yMap, const QRectF& canvasRect) const override;
124
125 // Update scale divisions
126 virtual void updateScaleDiv(const QwtScaleDiv& xScaleDiv, const QwtScaleDiv& yScaleDiv) override;
127
128private:
132 void drawLines(QPainter*, const QRectF&, Qt::Orientation, const QwtScaleMap&, const QList< double >&) const;
133
134 QWT_DECLARE_PRIVATE(QwtPlotGrid)
135};
136
137#endif
A class which draws a coordinate grid
Definition qwt_plot_grid.h:51
Base class for items on the plot canvas
Definition qwt_plot_item.h:85
virtual void draw(QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const =0
Draw the item
virtual int rtti() const
Runtime type information
Definition qwt_plot_item.cpp:155
virtual void updateScaleDiv(const QwtScaleDiv &, const QwtScaleDiv &)
Update the item with new scale divisions
Definition qwt_plot_item.cpp:673
A class representing a scale division
Definition qwt_scale_div.h:47
A scale map
Definition qwt_scale_map.h:44