Qwt User's Guide 6.0.0
Public Types | Public Member Functions | Protected Member Functions

QwtKnob Class Reference

The Knob Widget. More...

#include <qwt_knob.h>

Inheritance diagram for QwtKnob:
Inheritance graph
[legend]

List of all members.

Public Types

enum  KnobStyle {
  NoStyle = -1,
  Raised,
  Sunken
}
enum  MarkerStyle {
  NoMarker = -1,
  Tick,
  Dot,
  Nub,
  Notch
}

Public Member Functions

 QwtKnob (QWidget *parent=NULL)
virtual ~QwtKnob ()
void setKnobWidth (int w)
int knobWidth () const
void setTotalAngle (double angle)
double totalAngle () const
void setKnobStyle (KnobStyle)
KnobStyle knobStyle () const
void setBorderWidth (int bw)
int borderWidth () const
void setMarkerStyle (MarkerStyle)
MarkerStyle markerStyle () const
void setMarkerSize (int)
int markerSize () const
virtual QSize sizeHint () const
virtual QSize minimumSizeHint () const
void setScaleDraw (QwtRoundScaleDraw *)
const QwtRoundScaleDrawscaleDraw () const
QwtRoundScaleDrawscaleDraw ()

Protected Member Functions

virtual void paintEvent (QPaintEvent *)
virtual void resizeEvent (QResizeEvent *)
virtual void changeEvent (QEvent *)
virtual void drawKnob (QPainter *, const QRectF &) const
virtual void drawMarker (QPainter *, const QRectF &, double arc) const
virtual double getValue (const QPoint &p)
virtual void getScrollMode (const QPoint &, QwtAbstractSlider::ScrollMode &, int &direction) const

Detailed Description

The Knob Widget.

The QwtKnob widget imitates look and behaviour of a volume knob on a radio. It contains a scale around the knob which is set up automatically or can be configured manually (see QwtAbstractScale). Automatic scrolling is enabled when the user presses a mouse button on the scale. For a description of signals, slots and other members, see QwtAbstractSlider.

knob.png
See also:
QwtAbstractSlider and QwtAbstractScale for the descriptions of the inherited members.

Member Enumeration Documentation

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:
NoStyle 

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

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.

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


Constructor & Destructor Documentation

QwtKnob::QwtKnob ( QWidget *  parent = NULL) [explicit]

Constructor

Parameters:
parentParent widget
QwtKnob::~QwtKnob ( ) [virtual]

Destructor.


Member Function Documentation

int QwtKnob::borderWidth ( ) const

Return the border width.

void QwtKnob::changeEvent ( QEvent *  event) [protected, virtual]

Handle QEvent::StyleChange and QEvent::FontChange;

Parameters:
eventChange event
void QwtKnob::drawKnob ( QPainter *  painter,
const QRectF &  knobRect 
) const [protected, virtual]

Draw the knob.

Parameters:
painterpainter
knobRectBounding rectangle of the knob (without scale)
void QwtKnob::drawMarker ( QPainter *  painter,
const QRectF &  rect,
double  angle 
) const [protected, virtual]

Draw the marker at the knob's front.

Parameters:
painterPainter
rectBounding rectangle of the knob without scale
angleAngle of the marker in degrees
void QwtKnob::getScrollMode ( const QPoint &  pos,
QwtAbstractSlider::ScrollMode scrollMode,
int &  direction 
) const [protected, virtual]

Set the scrolling mode and direction.

Called by QwtAbstractSlider

Parameters:
posPoint in question
scrollModeScrolling mode
directionDirection

Implements QwtAbstractSlider.

double QwtKnob::getValue ( const QPoint &  pos) [protected, virtual]

Determine the value corresponding to a specified position.

Called by QwtAbstractSlider

Parameters:
pospoint

Implements QwtAbstractSlider.

QwtKnob::KnobStyle QwtKnob::knobStyle ( ) const
Returns:
Marker type of the knob
See also:
setKnobStyle(), setBorderWidth()
int QwtKnob::knobWidth ( ) const

Return the width of the knob.

int QwtKnob::markerSize ( ) const

Return the marker size.

QwtKnob::MarkerStyle QwtKnob::markerStyle ( ) const
Returns:
Marker type of the knob
See also:
setMarkerStyle(), setMarkerSize()
QSize QwtKnob::minimumSizeHint ( ) const [virtual]

Return a minimum size hint.

Warning:
The return value of QwtKnob::minimumSizeHint() depends on the font and the scale.
void QwtKnob::paintEvent ( QPaintEvent *  event) [protected, virtual]

Repaint the knob

Parameters:
eventPaint event
void QwtKnob::resizeEvent ( QResizeEvent *  event) [protected, virtual]

Qt Resize Event

Parameters:
eventResize event
QwtRoundScaleDraw * QwtKnob::scaleDraw ( )
Returns:
the scale draw of the knob
See also:
setScaleDraw()
const QwtRoundScaleDraw * QwtKnob::scaleDraw ( ) const
Returns:
the scale draw of the knob
See also:
setScaleDraw()
void QwtKnob::setBorderWidth ( int  borderWidth)

Set the knob's border width.

Parameters:
borderWidthnew border width
void QwtKnob::setKnobStyle ( KnobStyle  knobStyle)

Set the knob type.

Parameters:
knobStyleKnob type
See also:
knobStyle(), setBorderWidth()
void QwtKnob::setKnobWidth ( int  width)

Change the knob's width.

The specified width must be >= 5, or it will be clipped.

Parameters:
widthNew width
void QwtKnob::setMarkerSize ( int  size)

Set the size of the marker.

See also:
markerSize(), markerStyle()
void QwtKnob::setMarkerStyle ( MarkerStyle  markerStyle)

Set the marker type of the knob.

Parameters:
markerStyleMarker type
See also:
markerStyle(), setMarkerSize()
void QwtKnob::setScaleDraw ( QwtRoundScaleDraw scaleDraw)

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()
void QwtKnob::setTotalAngle ( double  angle)

Set the total angle by which the knob can be turned.

Parameters:
angleAngle in degrees.

The default angle is 270 degrees. It is possible to specify an angle of more than 360 degrees so that the knob can be turned several times around its axis.

QSize QwtKnob::sizeHint ( ) const [virtual]
double QwtKnob::totalAngle ( ) const

Return the total angle.