QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_knob.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_KNOB_H
28#define QWT_KNOB_H
29
30#include "qwt_global.h"
31#include "qwt_abstract_slider.h"
32
34
63class QWT_EXPORT QwtKnob : public QwtAbstractSlider
64{
65 Q_OBJECT
66
67 Q_ENUMS ( KnobStyle MarkerStyle )
68
69 Q_PROPERTY( KnobStyle knobStyle READ knobStyle WRITE setKnobStyle )
70 Q_PROPERTY( int knobWidth READ knobWidth WRITE setKnobWidth )
71 Q_PROPERTY( Qt::Alignment alignment READ alignment WRITE setAlignment )
72 Q_PROPERTY( double totalAngle READ totalAngle WRITE setTotalAngle )
73 Q_PROPERTY( int numTurns READ numTurns WRITE setNumTurns )
74 Q_PROPERTY( MarkerStyle markerStyle READ markerStyle WRITE setMarkerStyle )
75 Q_PROPERTY( int markerSize READ markerSize WRITE setMarkerSize )
76 Q_PROPERTY( int borderWidth READ borderWidth WRITE setBorderWidth )
77
78public:
93 {
96
99
102
104 Styled
105 };
106
121 {
123 NoMarker = -1,
124
127
130
133
136
138 Notch
139 };
140
142 explicit QwtKnob( QWidget* parent = nullptr );
144 virtual ~QwtKnob();
145
147 void setAlignment( Qt::Alignment );
149 Qt::Alignment alignment() const;
150
152 void setKnobWidth( int );
154 int knobWidth() const;
155
157 void setNumTurns( int );
159 int numTurns() const;
160
162 void setTotalAngle ( double angle );
164 double totalAngle() const;
165
167 void setKnobStyle( KnobStyle );
169 KnobStyle knobStyle() const;
170
172 void setBorderWidth( int );
174 int borderWidth() const;
175
177 void setMarkerStyle( MarkerStyle );
179 MarkerStyle markerStyle() const;
180
182 void setMarkerSize( int );
184 int markerSize() const;
185
187 virtual QSize sizeHint() const override;
189 virtual QSize minimumSizeHint() const override;
190
192 void setScaleDraw( QwtRoundScaleDraw* );
193
195 const QwtRoundScaleDraw* scaleDraw() const;
197 QwtRoundScaleDraw* scaleDraw();
198
200 QRect knobRect() const;
201
202 protected:
203 virtual void paintEvent( QPaintEvent* ) override;
204 virtual void changeEvent( QEvent* ) override;
205
206 virtual void drawKnob( QPainter*, const QRectF& ) const;
207
208 virtual void drawFocusIndicator( QPainter* ) const;
209
210 virtual void drawMarker( QPainter*,
211 const QRectF&, double angle ) const;
212
213 virtual double scrolledTo( const QPoint& ) const override;
214 virtual bool isScrollPosition( const QPoint& ) const override;
215
216 private:
217 class PrivateData;
218 PrivateData* m_data;
219};
220
221#endif
virtual void changeEvent(QEvent *) override
Handle change events (English only)
Definition qwt_abstract_scale.cpp:670
带刻度的滑块控件的抽象基类
Definition qwt_abstract_slider.h:57
virtual bool isScrollPosition(const QPoint &pos) const =0
确定当用户按下鼠标按钮时该做什么
virtual double scrolledTo(const QPoint &pos) const =0
确定滑块可移动部分新位置的值
旋钮控件
Definition qwt_knob.h:64
MarkerStyle
标记类型
Definition qwt_knob.h:121
@ Nub
Draw a raised ellipse with a gradient from QPalette::Light and QPalette::Mid
Definition qwt_knob.h:135
@ Dot
Paint a circle in QPalette::ButtonText color
Definition qwt_knob.h:132
@ Tick
Paint a single tick in QPalette::ButtonText color
Definition qwt_knob.h:126
@ Triangle
Paint a triangle in QPalette::ButtonText color
Definition qwt_knob.h:129
KnobStyle
旋钮表面样式
Definition qwt_knob.h:93
@ Flat
Fill the knob with a brush from QPalette::Button
Definition qwt_knob.h:95
@ Sunken
Build a gradient from QPalette::Midlight, QPalette::Button and QPalette::Midlight
Definition qwt_knob.h:101
@ Raised
Build a gradient from QPalette::Midlight and QPalette::Button
Definition qwt_knob.h:98
用于绘制圆形刻度的类
Definition qwt_round_scale_draw.h:58