|
QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
|
The Knob Widget 更多...
#include <qwt_knob.h>
类 | |
| class | PrivateData |
Public 类型 | |
| enum | KnobStyle { Flat , Raised , Sunken , Styled } |
| Style of the knob surface 更多... | |
| enum | MarkerStyle { NoMarker = -1 , Tick , Triangle , Dot , Nub , Notch } |
| Marker type 更多... | |
Public 成员函数 | |
| QwtKnob (QWidget *parent=nullptr) | |
| Constructor | |
| ~QwtKnob () override | |
| Destructor | |
| void | setAlignment (Qt::Alignment) |
| Set alignment of the knob inside contentsRect() | |
| Qt::Alignment | alignment () const |
| Return alignment of the knob | |
| void | setKnobWidth (int) |
| Set the knob's width (diameter) | |
| int | knobWidth () const |
| Return the knob's width | |
| void | setNumTurns (int) |
| Set the number of turns for the knob | |
| int | numTurns () const |
| Return the number of turns | |
| void | setTotalAngle (double angle) |
| Set the total angle which the knob can be turned | |
| double | totalAngle () const |
| Return the total angle | |
| void | setKnobStyle (KnobStyle) |
| Set the knob style | |
| KnobStyle | knobStyle () const |
| Return the knob style | |
| void | setBorderWidth (int) |
| Set the border width | |
| int | borderWidth () const |
| Return the border width | |
| void | setMarkerStyle (MarkerStyle) |
| Set the marker style | |
| MarkerStyle | markerStyle () const |
| Return the marker style | |
| void | setMarkerSize (int) |
| Set the marker size | |
| int | markerSize () const |
| Return the marker size | |
| virtual QSize | sizeHint () const override |
| Return size hint | |
| virtual QSize | minimumSizeHint () const override |
| Return minimum size hint | |
| void | setScaleDraw (QwtRoundScaleDraw *) |
| Set the scale draw | |
| const QwtRoundScaleDraw * | scaleDraw () const |
| Return the scale draw (const version) | |
| QwtRoundScaleDraw * | scaleDraw () |
| Return the scale draw (non-const version) | |
| QRect | knobRect () const |
| Return the bounding rectangle of the knob | |
Public 成员函数 继承自 QwtAbstractSlider | |
| QwtAbstractSlider (QWidget *parent=nullptr) | |
| Constructor for QwtAbstractSlider (English only) | |
| ~QwtAbstractSlider () override | |
| Destructor for QwtAbstractSlider (English only) | |
| void | setValid (bool) |
| Set whether the slider is valid (English only) | |
| bool | isValid () const |
| Return whether the slider is valid (English only) | |
| double | value () const |
| Return the current value (English only) | |
| void | setWrapping (bool) |
| Set whether wrapping is enabled (English only) | |
| bool | wrapping () const |
| Return whether wrapping is enabled (English only) | |
| void | setTotalSteps (uint) |
| Set the total number of steps (English only) | |
| uint | totalSteps () const |
| Return the total number of steps (English only) | |
| void | setSingleSteps (uint) |
| Set the number of single steps (English only) | |
| uint | singleSteps () const |
| Return the number of single steps (English only) | |
| void | setPageSteps (uint) |
| Set the number of page steps (English only) | |
| uint | pageSteps () const |
| Return the number of page steps (English only) | |
| void | setStepAlignment (bool) |
| Set whether step alignment is enabled (English only) | |
| bool | stepAlignment () const |
| Return whether step alignment is enabled (English only) | |
| void | setTracking (bool) |
| Set whether tracking is enabled (English only) | |
| bool | isTracking () const |
| Return whether tracking is enabled (English only) | |
| void | setReadOnly (bool) |
| Set whether the slider is read-only (English only) | |
| bool | isReadOnly () const |
| Return whether the slider is read-only (English only) | |
| void | setInvertedControls (bool) |
| Set whether controls are inverted (English only) | |
| bool | invertedControls () const |
| Return whether controls are inverted (English only) | |
Public 成员函数 继承自 QwtAbstractScale | |
| QwtAbstractScale (QWidget *parent=nullptr) | |
| Constructor for QwtAbstractScale | |
| void | setScale (double lowerBound, double upperBound) |
| Specify a scale by interval bounds | |
| void | setScale (const QwtInterval &) |
| Specify a scale by interval | |
| void | setScale (const QwtScaleDiv &) |
| Specify a scale by scale division | |
| const QwtScaleDiv & | scaleDiv () const |
| Return the scale division | |
| void | setLowerBound (double value) |
| Set the lower bound of the scale | |
| double | lowerBound () const |
| Return the lower bound of the scale | |
| void | setUpperBound (double value) |
| Set the upper bound of the scale | |
| double | upperBound () const |
| Return the upper bound of the scale | |
| void | setScaleStepSize (double stepSize) |
| Set the step size used for calculating scale division | |
| double | scaleStepSize () const |
| Return the step size hint | |
| void | setScaleMaxMajor (int ticks) |
| Set the maximum number of major tick intervals | |
| int | scaleMaxMinor () const |
| Return the maximum number of minor tick intervals | |
| void | setScaleMaxMinor (int ticks) |
| Set the maximum number of minor tick intervals | |
| int | scaleMaxMajor () const |
| Return the maximum number of major tick intervals | |
| void | setScaleEngine (QwtScaleEngine *) |
| Set the scale engine | |
| const QwtScaleEngine * | scaleEngine () const |
| Return the scale engine (const version) | |
| QwtScaleEngine * | scaleEngine () |
| Return the scale engine (non-const version) | |
| int | transform (double) const |
| Transform a scale value to widget coordinates | |
| double | invTransform (int) const |
| Transform a widget coordinate to scale value | |
| bool | isInverted () const |
| Check if scale is inverted | |
| double | minimum () const |
| Return the minimum boundary | |
| double | maximum () const |
| Return the maximum boundary | |
| const QwtScaleMap & | scaleMap () const |
| Return the scale map | |
Protected 成员函数 | |
| virtual void | paintEvent (QPaintEvent *) override |
| Repaint the knob | |
| virtual void | changeEvent (QEvent *) override |
| Handle QEvent::StyleChange and QEvent::FontChange; | |
| virtual void | drawKnob (QPainter *, const QRectF &) const |
| Draw the knob | |
| virtual void | drawFocusIndicator (QPainter *) const |
| Draw the focus indicator | |
| virtual void | drawMarker (QPainter *, const QRectF &, double angle) const |
| Draw the marker at the knob's front | |
| virtual double | scrolledTo (const QPoint &) const override |
| Determine the value for a new position of the mouse | |
| virtual bool | isScrollPosition (const QPoint &) const override |
| Determine what to do when the user presses a mouse button. | |
Protected 成员函数 继承自 QwtAbstractSlider | |
| virtual void | mousePressEvent (QMouseEvent *) override |
| Handle mouse press events (English only) | |
| virtual void | mouseReleaseEvent (QMouseEvent *) override |
| Handle mouse release events (English only) | |
| virtual void | mouseMoveEvent (QMouseEvent *) override |
| Handle mouse move events (English only) | |
| virtual void | keyPressEvent (QKeyEvent *) override |
| Handle key press events (English only) | |
| virtual void | wheelEvent (QWheelEvent *) override |
| Handle wheel events (English only) | |
| void | incrementValue (int stepCount) |
| Increment the value by a number of steps (English only) | |
| virtual void | scaleChange () override |
| Handle scale changes (English only) | |
| virtual void | sliderChange () |
| Handle slider changes (English only) | |
| double | incrementedValue (double value, int stepCount) const |
| Calculate incremented value (English only) | |
Protected 成员函数 继承自 QwtAbstractScale | |
| void | rescale (double lowerBound, double upperBound, double stepSize) |
| Recalculate scale and update scale draw (English only) | |
| void | setAbstractScaleDraw (QwtAbstractScaleDraw *) |
| Set the scale draw object (English only) | |
| const QwtAbstractScaleDraw * | abstractScaleDraw () const |
| Return the scale draw (const version) (English only) | |
| QwtAbstractScaleDraw * | abstractScaleDraw () |
| Return the scale draw (non-const version) (English only) | |
| void | updateScaleDraw () |
| Update the scale draw (English only) | |
属性 | |
| KnobStyle | knobStyle |
| int | knobWidth |
| Qt::Alignment | alignment |
| double | totalAngle |
| int | numTurns |
| MarkerStyle | markerStyle |
| int | markerSize |
| int | borderWidth |
属性 继承自 QwtAbstractSlider | |
| double | value |
| uint | totalSteps |
| uint | singleSteps |
| uint | pageSteps |
| bool | stepAlignment |
| bool | readOnly |
| bool | tracking |
| bool | wrapping |
| bool | invertedControls |
属性 继承自 QwtAbstractScale | |
| double | lowerBound |
| double | upperBound |
| int | scaleMaxMajor |
| int | scaleMaxMinor |
| double | scaleStepSize |
额外继承的成员函数 | |
Public 槽 继承自 QwtAbstractSlider | |
| void | setValue (double value) |
| Set the slider value (English only) | |
信号 继承自 QwtAbstractSlider | |
| void | valueChanged (double value) |
| Notify a change of value | |
| void | sliderPressed () |
| Signal emitted when the user presses the movable part of the slider | |
| void | sliderReleased () |
| Signal emitted when the user releases the movable part of the slider | |
| void | sliderMoved (double value) |
| Signal emitted when the user moves the slider with the mouse | |
The Knob Widget
The QwtKnob widget imitates look and behavior of a volume knob on a radio. It looks similar to QDial - not to QwtDial. The value range of a knob might be divided into several turns. The layout of the knob depends on the knobWidth():
| enum QwtKnob::KnobStyle |
Style of the knob surface
Depending on the KnobStyle the surface of the knob is filled from the brushes of the widget palette().
| enum QwtKnob::MarkerStyle |
Marker type
The marker indicates the current value on the knob. The default setting is a Notch marker.
|
explicit |
Constructor
Construct a knob with an angle of 270°. The style is QwtKnob::Raised and the marker style is QwtKnob::Notch. The width of the knob is set to 50 pixels.
| parent | Parent widget |
| Qt::Alignment QwtKnob::alignment | ( | ) | const |
Return alignment of the knob
Return alignment of the knob inside contentsRect()
|
overrideprotectedvirtual |
|
protectedvirtual |
Draw the focus indicator
| painter | Painter |
|
protectedvirtual |
Draw the knob
| painter | painter |
| knobRect | Bounding rectangle of the knob (without scale) |
|
protectedvirtual |
Draw the marker at the knob's front
| painter | Painter |
| rect | Bounding rectangle of the knob without scale |
| angle | Angle of the marker in degrees ( clockwise, 0 at the 12 o'clock position ) |
|
overrideprotectedvirtual |
Determine what to do when the user presses a mouse button.
| pos | Mouse position |
| True,when | pos is inside the circle of the knob. |
实现了 QwtAbstractSlider.
| QRect QwtKnob::knobRect | ( | ) | const |
Return the bounding rectangle of the knob
Calculate the bounding rectangle of the knob without the scale
| QwtKnob::KnobStyle QwtKnob::knobStyle | ( | ) | const |
| int QwtKnob::knobWidth | ( | ) | const |
Return the knob's width
Return the width of the knob
| int QwtKnob::markerSize | ( | ) | const |
| QwtKnob::MarkerStyle QwtKnob::markerStyle | ( | ) | const |
|
overridevirtual |
| int QwtKnob::numTurns | ( | ) | const |
Return the number of turns
|
overrideprotectedvirtual |
Repaint the knob
| event | Paint event |
| QwtRoundScaleDraw * QwtKnob::scaleDraw | ( | ) |
Return the scale draw (non-const version)
Return the scale draw of the knob (non-const version)
| const QwtRoundScaleDraw * QwtKnob::scaleDraw | ( | ) | const |
Return the scale draw (const version)
Return the scale draw of the knob (const version)
|
overrideprotectedvirtual |
Determine the value for a new position of the mouse
| pos | Mouse position |
实现了 QwtAbstractSlider.
| void QwtKnob::setAlignment | ( | Qt::Alignment | alignment | ) |
Set alignment of the knob inside contentsRect()
Set the alignment of the knob
Similar to QLabel::alignment(), the flags decide how to align the knob inside of contentsRect(). The default setting is Qt::AlignCenter.
| alignment | Or'd alignment flags |
| void QwtKnob::setBorderWidth | ( | int | borderWidth | ) |
Set the border width
Set the knob's border width
| borderWidth | New border width |
| void QwtKnob::setKnobStyle | ( | KnobStyle | knobStyle | ) |
| void QwtKnob::setKnobWidth | ( | int | width | ) |
Set the knob's width (diameter)
Change the knob's width
Setting a fixed value for the diameter of the knob is helpful for aligning several knobs in a row.
| width | New width |
| void QwtKnob::setMarkerSize | ( | int | size | ) |
Set the marker size
Set the size of the marker
When setting a size <= 0 the marker will automatically be scaled to 40% of the radius of the knob.
| size | Marker size |
| void QwtKnob::setMarkerStyle | ( | MarkerStyle | markerStyle | ) |
Set the marker style
Set the marker type of the knob
| markerStyle | Marker type |
| void QwtKnob::setNumTurns | ( | int | numTurns | ) |
Set the number of turns for the knob
Set the number of turns
When numTurns > 1 the knob can be turned several times around its axis. Otherwise the total angle is floored to 360°.
| numTurns | Number of turns |
| void QwtKnob::setScaleDraw | ( | QwtRoundScaleDraw * | scaleDraw | ) |
Set the scale draw
Change the scale draw of the knob
For changing the labels of the scales, it is necessary to derive from QwtRoundScaleDraw and overload QwtRoundScaleDraw::label().
| scaleDraw | Scale draw object |
| void QwtKnob::setTotalAngle | ( | double | angle | ) |
Set the total angle which the knob can be turned
Set the total angle by which the knob can be turned
The angle has to be between [10, 360] degrees. Angles above 360 (so that the knob can be turned several times around its axis) have to be set using setNumTurns(). The default angle is 270 degrees.
| angle | Angle in degrees |
|
overridevirtual |
Return size hint
Return the size hint
| double QwtKnob::totalAngle | ( | ) | const |