Qwt User's Guide  6.2.0
QwtSlider Class Reference

The Slider Widget. More...

#include <qwt_slider.h>

Inheritance diagram for QwtSlider:

Public Types

enum  ScalePosition { NoScale , LeadingScale , TrailingScale }
 

Public Member Functions

 QwtSlider (QWidget *parent=NULL)
 
 QwtSlider (Qt::Orientation, QWidget *parent=NULL)
 
virtual ~QwtSlider ()
 Destructor.
 
void setOrientation (Qt::Orientation)
 Set the orientation. More...
 
Qt::Orientation orientation () const
 
void setScalePosition (ScalePosition)
 Change the position of the scale. More...
 
ScalePosition scalePosition () const
 
void setTrough (bool)
 
bool hasTrough () const
 
void setGroove (bool)
 
bool hasGroove () const
 
void setHandleSize (const QSize &)
 Set the slider's handle size. More...
 
QSize handleSize () const
 
void setBorderWidth (int)
 Change the slider's border width. More...
 
int borderWidth () const
 
void setSpacing (int)
 Change the spacing between trough and scale. More...
 
int spacing () const
 
virtual QSize sizeHint () const override
 
virtual QSize minimumSizeHint () const override
 
void setScaleDraw (QwtScaleDraw *)
 Set a scale draw. More...
 
const QwtScaleDrawscaleDraw () const
 
void setUpdateInterval (int)
 Specify the update interval for automatic scrolling. More...
 
int updateInterval () const
 
- Public Member Functions inherited from QwtAbstractSlider
 QwtAbstractSlider (QWidget *parent=NULL)
 Constructor. More...
 
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. More...
 
uint totalSteps () const
 
void setSingleSteps (uint)
 Set the number of steps for a single increment. More...
 
uint singleSteps () const
 
void setPageSteps (uint)
 Set the number of steps for a page increment. More...
 
uint pageSteps () const
 
void setStepAlignment (bool)
 Enable step alignment. More...
 
bool stepAlignment () const
 
void setTracking (bool)
 Enables or disables tracking. More...
 
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. More...
 
void setScale (const QwtInterval &)
 Specify a scale. More...
 
void setScale (const QwtScaleDiv &)
 Specify a scale. More...
 
const QwtScaleDivscaleDiv () 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. More...
 
double scaleStepSize () const
 
void setScaleMaxMajor (int ticks)
 Set the maximum number of major tick intervals. More...
 
int scaleMaxMinor () const
 
void setScaleMaxMinor (int ticks)
 Set the maximum number of minor tick intervals. More...
 
int scaleMaxMajor () const
 
void setScaleEngine (QwtScaleEngine *)
 Set a scale engine. More...
 
const QwtScaleEnginescaleEngine () const
 
QwtScaleEnginescaleEngine ()
 
int transform (double) const
 
double invTransform (int) const
 
bool isInverted () const
 
double minimum () const
 
double maximum () const
 
const QwtScaleMapscaleMap () const
 

Protected Member Functions

virtual double scrolledTo (const QPoint &) const override
 Determine the value for a new position of the slider handle. More...
 
virtual bool isScrollPosition (const QPoint &) const override
 Determine what to do when the user presses a mouse button. More...
 
virtual void drawSlider (QPainter *, const QRect &) const
 
virtual void drawHandle (QPainter *, const QRect &, int pos) const
 
virtual void mousePressEvent (QMouseEvent *) override
 
virtual void mouseReleaseEvent (QMouseEvent *) override
 
virtual void resizeEvent (QResizeEvent *) override
 
virtual void paintEvent (QPaintEvent *) override
 
virtual void changeEvent (QEvent *) override
 
virtual void timerEvent (QTimerEvent *) override
 
virtual bool event (QEvent *) override
 
virtual void scaleChange () override
 Notify changed scale.
 
QRect sliderRect () const
 
QRect handleRect () const
 
- Protected Member Functions inherited from QwtAbstractSlider
virtual void mouseMoveEvent (QMouseEvent *) override
 
virtual void keyPressEvent (QKeyEvent *) override
 
virtual void wheelEvent (QWheelEvent *) override
 
void incrementValue (int stepCount)
 
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. More...
 
const QwtAbstractScaleDrawabstractScaleDraw () const
 
QwtAbstractScaleDrawabstractScaleDraw ()
 
void updateScaleDraw ()
 

Additional Inherited Members

- Public Slots inherited from QwtAbstractSlider
void setValue (double value)
 
- Signals inherited from QwtAbstractSlider
void valueChanged (double value)
 Notify a change of value. More...
 
void sliderPressed ()
 
void sliderReleased ()
 
void sliderMoved (double value)
 

Detailed Description

The Slider Widget.

QwtSlider is a slider widget which operates on an interval of type double. Its position is related to a scale showing the current value.

The slider can be customized by having a through, a groove - or both.

Definition at line 30 of file qwt_slider.h.

Member Enumeration Documentation

◆ ScalePosition

Position of the scale

See also
QwtSlider(), setScalePosition(), setOrientation()
Enumerator
NoScale 

The slider has no scale.

LeadingScale 

The scale is right of a vertical or below a horizontal slider.

TrailingScale 

The scale is left of a vertical or above a horizontal slider.

Definition at line 54 of file qwt_slider.h.

Constructor & Destructor Documentation

◆ QwtSlider() [1/2]

QwtSlider::QwtSlider ( QWidget *  parent = NULL)
explicit

Construct vertical slider in QwtSlider::Trough style with a scale to the left.

The scale is initialized to [0.0, 100.0] and the value set to 0.0.

Parameters
parentParent widget
See also
setOrientation(), setScalePosition(), setBackgroundStyle()

Definition at line 119 of file qwt_slider.cpp.

◆ QwtSlider() [2/2]

QwtSlider::QwtSlider ( Qt::Orientation  orientation,
QWidget *  parent = NULL 
)
explicit

Construct a slider in QwtSlider::Trough style

When orientation is Qt::Vertical the scale will be aligned to the left - otherwise at the the top of the slider.

The scale is initialized to [0.0, 100.0] and the value set to 0.0.

Parameters
parentParent widget
orientationOrientation of the slider.

Definition at line 136 of file qwt_slider.cpp.

Member Function Documentation

◆ borderWidth()

int QwtSlider::borderWidth ( ) const
Returns
the border width.
See also
setBorderWidth()

Definition at line 262 of file qwt_slider.cpp.

◆ changeEvent()

void QwtSlider::changeEvent ( QEvent *  event)
overrideprotectedvirtual

Handles QEvent::StyleChange and QEvent::FontChange events

Parameters
eventChange event

Reimplemented from QwtAbstractScale.

Definition at line 724 of file qwt_slider.cpp.

◆ drawHandle()

void QwtSlider::drawHandle ( QPainter *  painter,
const QRect &  handleRect,
int  pos 
) const
protectedvirtual

Draw the thumb at a position

Parameters
painterPainter
handleRectBounding rectangle of the handle
posPosition of the handle marker in widget coordinates

Definition at line 473 of file qwt_slider.cpp.

◆ drawSlider()

void QwtSlider::drawSlider ( QPainter *  painter,
const QRect &  sliderRect 
) const
protectedvirtual

Draw the slider into the specified rectangle.

Parameters
painterPainter
sliderRectBounding rectangle of the slider

Definition at line 415 of file qwt_slider.cpp.

◆ event()

bool QwtSlider::event ( QEvent *  event)
overrideprotectedvirtual

Qt event handler

Parameters
eventEvent
Returns
true, if event was recognized and processed

Definition at line 712 of file qwt_slider.cpp.

◆ handleRect()

QRect QwtSlider::handleRect ( ) const
protected
Returns
Bounding rectangle of the slider handle

Definition at line 990 of file qwt_slider.cpp.

◆ handleSize()

QSize QwtSlider::handleSize ( ) const
Returns
Size of the handle.
See also
setHandleSize()

Definition at line 326 of file qwt_slider.cpp.

◆ hasGroove()

bool QwtSlider::hasGroove ( ) const
Returns
True, when the groove is visible
See also
setGroove(), hasTrough()

Definition at line 904 of file qwt_slider.cpp.

◆ hasTrough()

bool QwtSlider::hasTrough ( ) const
Returns
True, when the trough is visible
See also
setTrough(), hasGroove()

Definition at line 875 of file qwt_slider.cpp.

◆ isScrollPosition()

bool QwtSlider::isScrollPosition ( const QPoint &  pos) const
overrideprotectedvirtual

Determine what to do when the user presses a mouse button.

Parameters
posMouse position
Return values
True,whenhandleRect() contains pos
See also
scrolledTo()

Implements QwtAbstractSlider.

Definition at line 503 of file qwt_slider.cpp.

◆ minimumSizeHint()

QSize QwtSlider::minimumSizeHint ( ) const
overridevirtual
Returns
Minimum size hint
See also
sizeHint()

Definition at line 922 of file qwt_slider.cpp.

◆ mousePressEvent()

void QwtSlider::mousePressEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Mouse press event handler

Parameters
eventMouse event

Reimplemented from QwtAbstractSlider.

Definition at line 547 of file qwt_slider.cpp.

◆ mouseReleaseEvent()

void QwtSlider::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Mouse release event handler

Parameters
eventMouse event

Reimplemented from QwtAbstractSlider.

Definition at line 606 of file qwt_slider.cpp.

◆ orientation()

Qt::Orientation QwtSlider::orientation ( ) const
Returns
Orientation
See also
setOrientation()

Definition at line 202 of file qwt_slider.cpp.

◆ paintEvent()

void QwtSlider::paintEvent ( QPaintEvent *  event)
overrideprotectedvirtual

Qt paint event handler

Parameters
eventPaint event

Definition at line 675 of file qwt_slider.cpp.

◆ resizeEvent()

void QwtSlider::resizeEvent ( QResizeEvent *  event)
overrideprotectedvirtual

Qt resize event handler

Parameters
eventResize event

Definition at line 700 of file qwt_slider.cpp.

◆ scaleDraw()

const QwtScaleDraw * QwtSlider::scaleDraw ( ) const
Returns
the scale draw of the slider
See also
setScaleDraw()

Definition at line 363 of file qwt_slider.cpp.

◆ scalePosition()

QwtSlider::ScalePosition QwtSlider::scalePosition ( ) const
Returns
Position of the scale
See also
setScalePosition()

Definition at line 230 of file qwt_slider.cpp.

◆ scrolledTo()

double QwtSlider::scrolledTo ( const QPoint &  pos) const
overrideprotectedvirtual

Determine the value for a new position of the slider handle.

Parameters
posMouse position
Returns
Value for the mouse position
See also
isScrollPosition()

Implements QwtAbstractSlider.

Definition at line 526 of file qwt_slider.cpp.

◆ setBorderWidth()

void QwtSlider::setBorderWidth ( int  width)

Change the slider's border width.

The border width is used for drawing the slider handle and the trough.

Parameters
widthBorder width
See also
borderWidth()

Definition at line 244 of file qwt_slider.cpp.

◆ setGroove()

void QwtSlider::setGroove ( bool  on)

En/Disable the groove

The slider can be customized by showing a groove for the handle.

Parameters
onWhen true, the groove is visible
See also
hasGroove(), setThrough()

Definition at line 889 of file qwt_slider.cpp.

◆ setHandleSize()

void QwtSlider::setHandleSize ( const QSize &  size)

Set the slider's handle size.

When the size is empty the slider handle will be painted with a default size depending on its orientation() and backgroundStyle().

Parameters
sizeNew size
See also
handleSize()

Definition at line 311 of file qwt_slider.cpp.

◆ setOrientation()

void QwtSlider::setOrientation ( Qt::Orientation  orientation)

Set the orientation.

Parameters
orientationAllowed values are Qt::Horizontal and Qt::Vertical.
See also
orientation(), scalePosition()

Definition at line 175 of file qwt_slider.cpp.

◆ setScaleDraw()

void QwtSlider::setScaleDraw ( QwtScaleDraw scaleDraw)

Set a scale draw.

For changing the labels of the scales, it is necessary to derive from QwtScaleDraw and overload QwtScaleDraw::label().

Parameters
scaleDrawScaleDraw object, that has to be created with new and will be deleted in ~QwtSlider() or the next call of setScaleDraw().
See also
scaleDraw()

Definition at line 344 of file qwt_slider.cpp.

◆ setScalePosition()

void QwtSlider::setScalePosition ( ScalePosition  scalePosition)

Change the position of the scale.

Parameters
scalePositionPosition of the scale.
See also
ScalePosition, scalePosition()

Definition at line 213 of file qwt_slider.cpp.

◆ setSpacing()

void QwtSlider::setSpacing ( int  spacing)

Change the spacing between trough and scale.

A spacing of 0 means, that the backbone of the scale is covered by the trough.

The default setting is 4 pixels.

Parameters
spacingNumber of pixels
See also
spacing();

Definition at line 278 of file qwt_slider.cpp.

◆ setTrough()

void QwtSlider::setTrough ( bool  on)

En/Disable the trough

The slider can be customized by showing a trough for the handle.

Parameters
onWhen true, the groove is visible
See also
hasTrough(), setGroove()

Definition at line 860 of file qwt_slider.cpp.

◆ setUpdateInterval()

void QwtSlider::setUpdateInterval ( int  interval)

Specify the update interval for automatic scrolling.

The minimal accepted value is 50 ms.

Parameters
intervalUpdate interval in milliseconds
See also
setUpdateInterval()

Definition at line 395 of file qwt_slider.cpp.

◆ sizeHint()

QSize QwtSlider::sizeHint ( ) const
overridevirtual
Returns
minimumSizeHint()

Definition at line 912 of file qwt_slider.cpp.

◆ sliderRect()

QRect QwtSlider::sliderRect ( ) const
protected
Returns
Bounding rectangle of the slider - without the scale

Definition at line 1014 of file qwt_slider.cpp.

◆ spacing()

int QwtSlider::spacing ( ) const
Returns
Number of pixels between slider and scale
See also
setSpacing()

Definition at line 296 of file qwt_slider.cpp.

◆ timerEvent()

void QwtSlider::timerEvent ( QTimerEvent *  event)
overrideprotectedvirtual

Timer event handler

Handles the timer, when the mouse stays pressed inside the sliderRect().

Parameters
eventMouse event

Definition at line 633 of file qwt_slider.cpp.

◆ updateInterval()

int QwtSlider::updateInterval ( ) const
Returns
Update interval in milliseconds for automatic scrolling
See also
setUpdateInterval()

Definition at line 404 of file qwt_slider.cpp.