QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_wheel.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_WHEEL_H
28#define QWT_WHEEL_H
29
30#include "qwt_global.h"
31#include <qwidget.h>
32
50class QWT_EXPORT QwtWheel : public QWidget
51{
52 Q_OBJECT
53
54 Q_PROPERTY( Qt::Orientation orientation
55 READ orientation WRITE setOrientation )
56
57 Q_PROPERTY( double value READ value WRITE setValue NOTIFY valueChanged USER true )
58
59 Q_PROPERTY( double minimum READ minimum WRITE setMinimum )
60 Q_PROPERTY( double maximum READ maximum WRITE setMaximum )
61
62 Q_PROPERTY( double singleStep READ singleStep WRITE setSingleStep )
63 Q_PROPERTY( int pageStepCount READ pageStepCount WRITE setPageStepCount )
64 Q_PROPERTY( bool stepAlignment READ stepAlignment WRITE setStepAlignment )
65
66 Q_PROPERTY( bool tracking READ isTracking WRITE setTracking )
67 Q_PROPERTY( bool wrapping READ wrapping WRITE setWrapping )
68 Q_PROPERTY( bool inverted READ isInverted WRITE setInverted )
69
70 Q_PROPERTY( double mass READ mass WRITE setMass )
71 Q_PROPERTY( int updateInterval READ updateInterval WRITE setUpdateInterval )
72
73 Q_PROPERTY( double totalAngle READ totalAngle WRITE setTotalAngle )
74 Q_PROPERTY( double viewAngle READ viewAngle WRITE setViewAngle )
75 Q_PROPERTY( int tickCount READ tickCount WRITE setTickCount )
76 Q_PROPERTY( int wheelWidth READ wheelWidth WRITE setWheelWidth )
77 Q_PROPERTY( int borderWidth READ borderWidth WRITE setBorderWidth )
78 Q_PROPERTY( int wheelBorderWidth READ wheelBorderWidth WRITE setWheelBorderWidth )
79
80 public:
82 explicit QwtWheel( QWidget* parent = nullptr );
84 virtual ~QwtWheel();
85
87 double value() const;
88
90 void setOrientation( Qt::Orientation );
92 Qt::Orientation orientation() const;
93
95 double totalAngle() const;
97 double viewAngle() const;
98
100 void setTickCount( int );
102 int tickCount() const;
103
105 void setWheelWidth( int );
107 int wheelWidth() const;
108
110 void setWheelBorderWidth( int );
112 int wheelBorderWidth() const;
113
115 void setBorderWidth( int );
117 int borderWidth() const;
118
120 void setInverted( bool );
122 bool isInverted() const;
123
125 void setWrapping( bool );
127 bool wrapping() const;
128
130 void setSingleStep( double );
132 double singleStep() const;
133
135 void setPageStepCount( int );
137 int pageStepCount() const;
138
140 void setStepAlignment( bool on );
142 bool stepAlignment() const;
143
145 void setRange( double min, double max );
146
148 void setMinimum( double );
150 double minimum() const;
151
153 void setMaximum( double );
155 double maximum() const;
156
158 void setUpdateInterval( int );
160 int updateInterval() const;
161
163 void setTracking( bool );
165 bool isTracking() const;
166
168 double mass() const;
169
170 public Q_SLOTS:
171 void setValue( double );
172 void setTotalAngle ( double );
173 void setViewAngle( double );
174 void setMass( double );
175
176 Q_SIGNALS:
177
193 void valueChanged( double value );
194
204
214
225 void wheelMoved( double value );
226
227 protected:
228 virtual void paintEvent( QPaintEvent* ) override;
229 virtual void mousePressEvent( QMouseEvent* ) override;
230 virtual void mouseReleaseEvent( QMouseEvent* ) override;
231 virtual void mouseMoveEvent( QMouseEvent* ) override;
232 virtual void keyPressEvent( QKeyEvent* ) override;
233 virtual void wheelEvent( QWheelEvent* ) override;
234 virtual void timerEvent( QTimerEvent* ) override;
235
236 void stopFlying();
237
238 QRect wheelRect() const;
239
240 virtual QSize sizeHint() const override;
241 virtual QSize minimumSizeHint() const override;
242
243 virtual void drawTicks( QPainter*, const QRectF& );
244 virtual void drawWheelBackground( QPainter*, const QRectF& );
245
246 virtual double valueAt( const QPoint& ) const;
247
248 private:
249 double alignedValue( double ) const;
250 double boundedValue( double ) const;
251
252 class PrivateData;
253 PrivateData* m_data;
254};
255
256#endif
轮式控件
Definition qwt_wheel.h:51
void wheelMoved(double value)
当用户用鼠标移动轮时发出此信号
void wheelReleased()
当用户释放鼠标时发出此信号
void wheelPressed()
当用户用鼠标按下轮时发出此信号
void valueChanged(double value)
通知值变化