# QwtKnob Class Reference

The Knob Widget. More...

`#include <qwt_knob.h>`

Inheritance diagram for QwtKnob:

[legend]

List of all members.

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

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

## Member Enumeration Documentation

enum QwtKnob::Symbol

Symbol

See also:
  QwtKnob::QwtKnob()

## Constructor & Destructor Documentation

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

Constructor

Parameters:

  | parent | Parent widget

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

Destructor.

## Member Function Documentation

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

Return the border width.

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

Repaint the knob

Parameters:

  | painter | Painter
  | rect | Update rectangle

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

Draw the knob.

Parameters:

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

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

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

Return the width of the knob.

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 * | e | ) | `[protected, virtual]`

Repaint the knob

Parameters:

  | e | Paint event

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

Qt Resize 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 | bw | ) |

Set the knob's border width.

Parameters:

  | bw | new border width

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

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::setSymbol | ( | QwtKnob::Symbol | s | ) |

Set the symbol of the knob.

See also:
  symbol()

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.

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

Returns:
  minimumSizeHint()

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

Returns:
  symbol of the knob

See also:
  setSymbol()

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

Return the total angle.