QwtKnob − The Knob Widget.
#include <qwt_knob.h>
Inherits QwtAbstractSlider.
enum
KnobStyle { Flat, Raised,
Sunken, Styled }
Style of the knob surface.
enum MarkerStyle { NoMarker = -1, Tick,
Triangle, Dot, Nub, Notch }
Marker type.
QwtKnob
(QWidget *parent=NULL)
Constructor.
virtual ˜QwtKnob ()
Destructor.
void setAlignment (Qt::Alignment)
Set the alignment of the knob.
Qt::Alignment alignment () const
void setKnobWidth (int)
Change the knob’s width.
int knobWidth () const
Return the width of the knob.
void setNumTurns (int)
Set the number of turns.
int numTurns () const
void setTotalAngle (double angle)
Set the total angle by which the knob can be turned.
double totalAngle () const
void setKnobStyle (KnobStyle)
Set the knob type.
KnobStyle knobStyle () const
void setBorderWidth (int)
Set the knob’s border width.
int borderWidth () const
Return the border width.
void setMarkerStyle (MarkerStyle)
Set the marker type of the knob.
MarkerStyle markerStyle () const
void setMarkerSize (int)
Set the size of the marker.
int markerSize () const
virtual QSize sizeHint () const override
virtual QSize minimumSizeHint () const override
void setScaleDraw (QwtRoundScaleDraw *)
const QwtRoundScaleDraw * scaleDraw () const
QwtRoundScaleDraw * scaleDraw ()
QRect knobRect () const
Public Member Functions inherited from QwtAbstractSlider
QwtAbstractSlider
(QWidget *parent=NULL)
Constructor.
virtual ˜QwtAbstractSlider ()
Destructor.
void setValid (bool)
bool isValid () const
double value () const
Returns the current value.
void setWrapping (bool)
bool wrapping () const
void setTotalSteps (uint)
Set the number of steps.
uint totalSteps () const
void setSingleSteps (uint)
Set the number of steps for a single increment.
uint singleSteps () const
void setPageSteps (uint)
Set the number of steps for a page increment.
uint pageSteps () const
void setStepAlignment (bool)
Enable step alignment.
bool stepAlignment () const
void setTracking (bool)
Enables or disables tracking.
bool isTracking () const
void setReadOnly (bool)
bool isReadOnly () const
void setInvertedControls (bool)
bool invertedControls () const
Public Member Functions inherited from QwtAbstractScale
QwtAbstractScale
(QWidget *parent=NULL)
virtual ˜QwtAbstractScale ()
Destructor.
void setScale (double lowerBound, double
upperBound)
Specify a scale.
void setScale (const QwtInterval &)
Specify a scale.
void setScale (const QwtScaleDiv &)
Specify a scale.
const QwtScaleDiv & scaleDiv () const
void setLowerBound (double value)
double lowerBound () const
void setUpperBound (double value)
double upperBound () const
void setScaleStepSize (double stepSize)
Set the step size used for calculating a scale division.
double scaleStepSize () const
void setScaleMaxMajor (int ticks)
Set the maximum number of major tick intervals.
int scaleMaxMinor () const
void setScaleMaxMinor (int ticks)
Set the maximum number of minor tick intervals.
int scaleMaxMajor () const
void setScaleEngine (QwtScaleEngine *)
Set a scale engine.
const QwtScaleEngine * scaleEngine () const
QwtScaleEngine * scaleEngine ()
int transform (double) const
double invTransform (int) const
bool isInverted () const
double minimum () const
double maximum () const
const QwtScaleMap & scaleMap () const
virtual void
paintEvent (QPaintEvent *) override
virtual void changeEvent (QEvent *) override
virtual void drawKnob (QPainter *, const QRectF
&) const
Draw the knob.
virtual void drawFocusIndicator (QPainter *) const
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 Member Functions inherited from QwtAbstractSlider
virtual void
mousePressEvent (QMouseEvent *) override
virtual void mouseReleaseEvent (QMouseEvent *)
override
virtual void mouseMoveEvent (QMouseEvent *) override
virtual void keyPressEvent (QKeyEvent *) override
virtual void wheelEvent (QWheelEvent *) override
void incrementValue (int stepCount)
virtual void scaleChange () override
virtual void sliderChange ()
Calling update()
double incrementedValue (double value, int
stepCount) const
Protected Member Functions inherited from QwtAbstractScale
void rescale (double
lowerBound, double upperBound, double
stepSize)
void setAbstractScaleDraw
(QwtAbstractScaleDraw *)
Set a scale draw.
const QwtAbstractScaleDraw * abstractScaleDraw
() const
QwtAbstractScaleDraw * abstractScaleDraw ()
void updateScaleDraw ()
Public Slots inherited from QwtAbstractSlider
void setValue (double value)
Signals inherited from QwtAbstractSlider
void valueChanged
(double value)
Notify a change of value.
void sliderPressed ()
void sliderReleased ()
void sliderMoved (double value)
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().
|
• |
width > 0 The diameter of the knob is fixed and the knob is aligned according to the alignment() flags inside of the contentsRect(). | ||
|
• |
width <= 0 The knob is extended to the minimum of width/height of the contentsRect() and aligned in the other direction according to alignment(). |
Setting a fixed knobWidth() is helpful to align several knobs with different scale labels.
Definition at line 42 of file qwt_knob.h.
Style of the knob surface. Depending on the KnobStyle the surface of the knob is filled from the brushes of the widget palette().
See also
setKnobStyle(), knobStyle()
Enumerator
|
Flat |
Fill the knob with a brush from QPalette::Button. | ||
|
Raised |
Build a gradient from QPalette::Midlight and QPalette::Button. | ||
|
Sunken |
Build a gradient from QPalette::Midlight, QPalette::Button and QPalette::Midlight | ||
|
Styled |
Build a radial gradient from QPalette::Button like it is used for QDial in various Qt styles. |
Definition at line 66 of file qwt_knob.h.
Marker type. The marker indicates the current value on the knob The default setting is a Notch marker.
See also
setMarkerStyle(), setMarkerSize()
Enumerator
NoMarker
Don’t paint any marker.
|
Tick |
Paint a single tick in QPalette::ButtonText color. |
Triangle
Paint a triangle in QPalette::ButtonText color.
|
Dot |
Paint a circle in QPalette::ButtonText color. | ||
|
Nub |
Draw a raised ellipse with a gradient build from QPalette::Light and QPalette::Mid | ||
|
Notch |
Draw a sunken ellipse with a gradient build from QPalette::Light and QPalette::Mid |
Definition at line 95 of file qwt_knob.h.
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.
Parameters
parent Parent widget
See also
setTotalAngle()
Definition at line 103 of file qwt_knob.cpp.
Destructor.
Definition at line 120 of file qwt_knob.cpp.
Returns
Alignment of the knob inside of contentsRect()
See also
setAlignment(), knobWidth(), knobRect()
Definition at line 743 of file qwt_knob.cpp.
Return the border width.
Definition at line 799 of file qwt_knob.cpp.
Handle QEvent::StyleChange and QEvent::FontChange;
Parameters
event Change event
Reimplemented from QwtAbstractScale.
Definition at line 431 of file qwt_knob.cpp.
Draw the focus indicator
Parameters
painter Painter
Definition at line 697 of file qwt_knob.cpp.
Draw the knob.
Parameters
painter painter
knobRect Bounding rectangle of the knob (without
scale)
Definition at line 489 of file qwt_knob.cpp.
Draw the marker at the knob’s front.
Parameters
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 )
Definition at line 576 of file qwt_knob.cpp.
Determine what to do when the user presses a mouse button.
Parameters
pos Mouse position
Return values
True,when pos is inside the circle of the knob.
See also
scrolledTo()
Implements QwtAbstractSlider.
Definition at line 347 of file qwt_knob.cpp.
Calculate the bounding rectangle of the knob without the scale
Returns
Bounding rectangle of the knob
See also
knobWidth(), alignment(), QWidget::contentsRect()
Definition at line 292 of file qwt_knob.cpp.
Returns
Marker type of the knob
See also
setKnobStyle(), setBorderWidth()
Definition at line 144 of file qwt_knob.cpp.
Return the width of the knob.
Definition at line 781 of file qwt_knob.cpp.
Returns
Marker size
See also
setMarkerSize()
Definition at line 825 of file qwt_knob.cpp.
Returns
Marker type of the knob
See also
setMarkerStyle(), setMarkerSize()
Definition at line 168 of file qwt_knob.cpp.
Returns
Minimum size hint
See also
sizeHint()
Definition at line 843 of file qwt_knob.cpp.
Returns
Number of turns.
When the total angle is below 360° numTurns() is ceiled to 1.
See also
setNumTurns(), setTotalAngle(), totalAngle()
Definition at line 245 of file qwt_knob.cpp.
Repaint the knob
Parameters
event Paint event
Definition at line 451 of file qwt_knob.cpp.
Returns
the scale draw of the knob
See also
setScaleDraw()
Definition at line 281 of file qwt_knob.cpp.
Returns
the scale draw of the knob
See also
setScaleDraw()
Definition at line 272 of file qwt_knob.cpp.
Determine the value for a new position of the mouse.
Parameters
pos Mouse position
Returns
Value for the mouse position
See also
isScrollPosition()
Implements QwtAbstractSlider.
Definition at line 373 of file qwt_knob.cpp.
Set the alignment of the knob. Similar to a QLabel::alignment() the flags decide how to align the knob inside of contentsRect().
The default setting is Qt::AlignCenter
Parameters
alignment Or’d alignment flags
See also
alignment(), setKnobWidth(), knobRect()
Definition at line 730 of file qwt_knob.cpp.
Set the knob’s border width.
Parameters
borderWidth new border width
Definition at line 790 of file qwt_knob.cpp.
Set the knob type.
Parameters
knobStyle Knob type
See also
knobStyle(), setBorderWidth()
Definition at line 131 of file qwt_knob.cpp.
Change the knob’s width. Setting a fixed value for the diameter of the knob is helpful for aligning several knobs in a row.
Parameters
width New width
See also
knobWidth(), setAlignment()
Note
Modifies the sizePolicy()
Definition at line 759 of file qwt_knob.cpp.
Set the size of the marker. When setting a size <= 0 the marker will automatically scaled to 40% of the radius of the knob.
See also
markerSize(), markerStyle()
Definition at line 812 of file qwt_knob.cpp.
Set the marker type of the knob.
Parameters
markerStyle Marker type
See also
markerStyle(), setMarkerSize()
Definition at line 155 of file qwt_knob.cpp.
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°. |
See also
numTurns(), totalAngle(), setTotalAngle()
Definition at line 219 of file qwt_knob.cpp.
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().
See also
scaleDraw()
Definition at line 259 of file qwt_knob.cpp.
Set the total angle by which the knob can be turned.
Parameters
angle Angle in degrees.
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.
See also
totalAngle(), setNumTurns()
Definition at line 185 of file qwt_knob.cpp.
Returns
sizeHint()
Definition at line 833 of file qwt_knob.cpp.
Returns
the total angle
See also
setTotalAngle(), setNumTurns(), numTurns()
Definition at line 205 of file qwt_knob.cpp.
Generated automatically by Doxygen for Qwt User’s Guide from the source code.