# QwtKnob Class Reference

Inheritance diagram for QwtKnob:

[legend]
Collaboration diagram for QwtKnob:

[legend]
List of all members.

## 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.

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

Definition at line 34 of file qwt_knob.h.

## Public Types

enum | Symbol { Line, Dot }

## Public Member Functions

| QwtKnob (QWidget *parent=NULL)
virtual | ~QwtKnob ()
void | setKnobWidth (int w)
int | knobWidth () const
void | setTotalAngle (double angle)
double | totalAngle () const
void | setBorderWidth (int bw)
int | borderWidth () const
void | setSymbol (Symbol)
Symbol | symbol () const
virtual QSize | sizeHint () const
virtual QSize | minimumSizeHint () const
void | setScaleDraw (QwtRoundScaleDraw *)
const QwtRoundScaleDraw * | scaleDraw () const
QwtRoundScaleDraw * | scaleDraw ()

## Protected Member Functions

virtual void | paintEvent (QPaintEvent *e)
virtual void | resizeEvent (QResizeEvent *e)
void | draw (QPainter *p, const QRect &ur)
void | drawKnob (QPainter *p, const QRect &r)
void | drawMarker (QPainter *p, double arc, const QColor &c)

## Member Enumeration Documentation

enum QwtKnob::Symbol

Symbol

See also:
  QwtKnob::QwtKnob()

Definition at line 49 of file qwt_knob.h.

## Constructor & Destructor Documentation

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

Constructor

Parameters:

  | parent | Parent widget

Definition at line 56 of file qwt_knob.cpp.

QwtKnob::~QwtKnob | ( |  | ) | `[virtual]`

Destructor.

Definition at line 96 of file qwt_knob.cpp.

## Member Function Documentation

void QwtKnob::setKnobWidth | ( | int | w | ) |

Change the knob's width.

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

Parameters:

  | w | New width

Definition at line 449 of file qwt_knob.cpp.

int QwtKnob::knobWidth | ( |  | ) | const

Return the width of the knob.

Definition at line 456 of file qwt_knob.cpp.

void QwtKnob::setTotalAngle | ( | double | angle | ) |

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

Parameters:

  | angle | Angle 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.

Definition at line 131 of file qwt_knob.cpp.

References scaleDraw(), and QwtRoundScaleDraw::setAngleRange().

Referenced by setScaleDraw().

double QwtKnob::totalAngle | ( |  | ) | const

Return the total angle.

Definition at line 144 of file qwt_knob.cpp.

void QwtKnob::setBorderWidth | ( | int | bw | ) |

Set the knob's border width.

Parameters:

  | bw | new border width

Definition at line 465 of file qwt_knob.cpp.

int QwtKnob::borderWidth | ( |  | ) | const

Return the border width.

Definition at line 472 of file qwt_knob.cpp.

void QwtKnob::setSymbol | ( | QwtKnob::Symbol | s | ) |

Set the symbol of the knob.

See also:
  symbol()

Definition at line 105 of file qwt_knob.cpp.

QwtKnob::Symbol QwtKnob::symbol | ( |  | ) | const

Returns:
  symbol of the knob

See also:
  setSymbol()

Definition at line 118 of file qwt_knob.cpp.

QSize QwtKnob::sizeHint | ( |  | ) | const`[virtual]`

Returns:
  minimumSizeHint()

Definition at line 523 of file qwt_knob.cpp.

References minimumSizeHint().

QSize QwtKnob::minimumSizeHint | ( |  | ) | const`[virtual]`

Return a minimum size hint.

Warning:
  The return value of QwtKnob::minimumSizeHint() depends on the font and the scale.

Definition at line 533 of file qwt_knob.cpp.

References QwtRoundScaleDraw::extent(), and scaleDraw().

Referenced by sizeHint().

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()

Definition at line 158 of file qwt_knob.cpp.

References scaleDraw(), QwtAbstractScale::setAbstractScaleDraw(), and setTotalAngle().

const QwtRoundScaleDraw * QwtKnob::scaleDraw | ( |  | ) | const

Returns:
  the scale draw of the knob

See also:
  setScaleDraw()

Definition at line 168 of file qwt_knob.cpp.

References QwtAbstractScale::abstractScaleDraw().

Referenced by draw(), minimumSizeHint(), setScaleDraw(), and setTotalAngle().

QwtRoundScaleDraw * QwtKnob::scaleDraw | ( |  | ) |

Returns:
  the scale draw of the knob

See also:
  setScaleDraw()

Definition at line 177 of file qwt_knob.cpp.

References QwtAbstractScale::abstractScaleDraw().

void QwtKnob::paintEvent | ( | QPaintEvent * | e | ) | `[protected, virtual]`

Repaint the knob.

Definition at line 360 of file qwt_knob.cpp.

References draw().

void QwtKnob::resizeEvent | ( | QResizeEvent * | e | ) | `[protected, virtual]`

Qt Resize Event.

Definition at line 329 of file qwt_knob.cpp.

void QwtKnob::draw | ( | QPainter * | p,
|  | const QRect & | ur |
| ) |  |  | `[protected]`

Repaint the knob.

Definition at line 379 of file qwt_knob.cpp.

References QwtAbstractScaleDraw::draw(), QwtPainter::drawFocusRect(), drawKnob(), and scaleDraw().

Referenced by paintEvent().

void QwtKnob::drawKnob | ( | QPainter * | painter,
|  | const QRect & | r |
| ) |  |  | `[protected]`

Draw the knob.

Parameters:

  | painter | painter
  | r | Bounding rectangle of the knob (without scale)

Definition at line 187 of file qwt_knob.cpp.

References drawMarker(), and QwtAbstractSlider::isValid().

Referenced by draw().

void QwtKnob::drawMarker | ( | QPainter * | p,
|  | double | arc,
|  | const QColor & | c |
| ) |  |  | `[protected]`

Draw the marker at the knob's front.

Parameters:

  | p | Painter
  | arc | Angle of the marker
  | c | Marker color

Definition at line 402 of file qwt_knob.cpp.

Referenced by drawKnob().