Scroll to navigation

QwtThermo(3) Qwt User's Guide QwtThermo(3)

NAME

QwtThermo -
The Thermometer Widget.
 

SYNOPSIS

#include <qwt_thermo.h>
Inherits QwtAbstractScale.

Public Types


enum ScalePos { NoScale, LeftScale, RightScale, TopScale, BottomScale }
 

Public Slots


void setValue (double val)
 

Public Member Functions


const QBrush & alarmBrush () const
 
const QColor & alarmColor () const
 
bool alarmEnabled () const
 
double alarmLevel () const
 
bool autoScale () const
 
int borderWidth () const
 
const QBrush & fillBrush () const
 
const QColor & fillColor () const
 
double maxValue () const
 
virtual QSize minimumSizeHint () const
 
double minValue () const
 
int pipeWidth () const
 
QwtThermo (QWidget *parent=NULL)
 
const QwtScaleDraw * scaleDraw () const
 
const QwtScaleEngine * scaleEngine () const
 
QwtScaleEngine * scaleEngine ()
 
const QwtScaleMap & scaleMap () const
 
int scaleMaxMajor () const
 
int scaleMaxMinor () const
 
ScalePos scalePosition () const
 
void setAlarmBrush (const QBrush &b)
 
void setAlarmColor (const QColor &c)
 
void setAlarmEnabled (bool tf)
 
void setAlarmLevel (double v)
 
void setAutoScale ()
 
void setBorderWidth (int w)
 
void setFillBrush (const QBrush &b)
 
void setFillColor (const QColor &c)
 
void setMargin (int m)
 
void setMaxValue (double v)
 
void setMinValue (double v)
 
void setOrientation (Qt::Orientation o, ScalePos s)
 
void setPipeWidth (int w)
 
void setRange (double vmin, double vmax, bool lg=false)
 
void setScale (double vmin, double vmax, double step=0.0)
 
void setScale (const QwtScaleDiv &s)
 
void setScale (const QwtDoubleInterval &, double step=0.0)
 
void setScaleDraw (QwtScaleDraw *)
 
void setScaleEngine (QwtScaleEngine *)
 
void setScaleMaxMajor (int ticks)
 
void setScaleMaxMinor (int ticks)
 
void setScalePosition (ScalePos s)
 
virtual QSize sizeHint () const
 
double value () const
 
virtual ~QwtThermo ()
 

Protected Member Functions


const QwtAbstractScaleDraw * abstractScaleDraw () const
 
QwtAbstractScaleDraw * abstractScaleDraw ()
 
void draw (QPainter *p, const QRect &update_rect)
 
void drawThermo (QPainter *p)
 
virtual void fontChange (const QFont &oldFont)
 
void layoutThermo (bool update=true)
 
virtual void paintEvent (QPaintEvent *e)
 
void rescale (double vmin, double vmax, double step=0.0)
 
virtual void resizeEvent (QResizeEvent *e)
 
virtual void scaleChange ()
 
QwtScaleDraw * scaleDraw ()
 
void setAbstractScaleDraw (QwtAbstractScaleDraw *)
 

Detailed Description

The Thermometer Widget.
 
QwtThermo is a widget which displays a value in an interval. It supports:
a horizontal or vertical layout;
a range;
a scale;
an alarm level.
By default, the scale and range run over the same interval of values. QwtAbstractScale::setScale() changes the interval of the scale and allows easy conversion between physical units.
The example shows how to make the scale indicate in degrees Fahrenheit and to set the value in degrees Kelvin:
#include <qapplication.h>
#include <qwt_thermo.h>
double Kelvin2Fahrenheit(double kelvin) { // see http://en.wikipedia.org/wiki/Kelvin return 1.8*kelvin - 459.67; }
int main(int argc, char **argv) { const double minKelvin = 0.0; const double maxKelvin = 500.0;
QApplication a(argc, argv); QwtThermo t; t.setRange(minKelvin, maxKelvin); t.setScale(Kelvin2Fahrenheit(minKelvin), Kelvin2Fahrenheit(maxKelvin)); // set the value in Kelvin but the scale displays in Fahrenheit // 273.15 Kelvin = 0 Celsius = 32 Fahrenheit t.setValue(273.15); a.setMainWidget(&t); t.show(); return a.exec(); }
 

Constructor & Destructor Documentation

QwtThermo::QwtThermo (QWidget *parent = NULL) [explicit] Constructor

Parameters:
parent Parent widget
 

QwtThermo::~QwtThermo () [virtual]

Destructor.

Member Function Documentation

const QwtAbstractScaleDraw * QwtAbstractScale::abstractScaleDraw () const [protected, inherited] Returns:

Scale draw
See also:
setAbstractScaleDraw()
 

QwtAbstractScaleDraw * QwtAbstractScale::abstractScaleDraw () [protected, inherited] Returns:

Scale draw
See also:
setAbstractScaleDraw()
 

const QBrush & QwtThermo::alarmBrush () const Return the liquid brush above the alarm threshold.

See also:
setAlarmBrush()
 

const QColor & QwtThermo::alarmColor () const

Return the liquid color above the alarm threshold.

bool QwtThermo::alarmEnabled () const

Return if the alarm threshold is enabled or disabled.

double QwtThermo::alarmLevel () const Return the alarm threshold.

See also:
setAlarmLevel()
 

bool QwtAbstractScale::autoScale () const [inherited] Returns:

true if autoscaling is enabled
 

int QwtThermo::borderWidth () const Return the border width of the thermometer pipe.

See also:
setBorderWidth()
 

void QwtThermo::draw (QPainter *painter, const QRect &rect) [protected] Draw the whole QwtThermo.

Parameters:
painter Painter
 
rect Update rectangle
 

void QwtThermo::drawThermo (QPainter *painter) [protected] Redraw the liquid in thermometer pipe.

Parameters:
painter Painter
 

const QBrush & QwtThermo::fillBrush () const Return the liquid brush.

See also:
setFillBrush()
 

const QColor & QwtThermo::fillColor () const Return the liquid color.

See also:
setFillColor()
 

void QwtThermo::fontChange (const QFont &oldFont) [protected, virtual]

Notify a font change.

void QwtThermo::layoutThermo (boolupdate_geometry = true) [protected] Recalculate the QwtThermo geometry and layout based on the QwtThermo::rect() and the fonts.

Parameters:
update_geometry notify the layout system and call update to redraw the scale
 

double QwtThermo::maxValue () const

Return the maximum value.

QSize QwtThermo::minimumSizeHint () const [virtual]

Return a minimum size hint. Warning:
The return value depends on the font and the scale.
See also:
sizeHint()
 

double QwtThermo::minValue () const

Return the minimum value.

void QwtThermo::paintEvent (QPaintEvent *event) [protected, virtual] Qt paint event. event Paint event

int QwtThermo::pipeWidth () const Return the width of the pipe.

See also:
setPipeWidth()
 

void QwtAbstractScale::rescale (doublevmin, doublevmax, doublestepSize = 0.0) [protected, inherited] Recalculate the scale division and update the scale draw.

Parameters:
vmin Lower limit of the scale interval
 
vmax Upper limit of the scale interval
 
stepSize Major step size
See also:
scaleChange()
 

void QwtThermo::resizeEvent (QResizeEvent *e) [protected, virtual]

Qt resize event handler.

void QwtThermo::scaleChange () [protected, virtual]

Notify a scale change.
Reimplemented from QwtAbstractScale.

QwtScaleDraw * QwtThermo::scaleDraw () [protected] Returns:

the scale draw of the thermo
See also:
setScaleDraw()
 

const QwtScaleDraw * QwtThermo::scaleDraw () const Returns:

the scale draw of the thermo
See also:
setScaleDraw()
 

const QwtScaleEngine * QwtAbstractScale::scaleEngine () const [inherited] Returns:

Scale engine
See also:
setScaleEngine()
 

QwtScaleEngine * QwtAbstractScale::scaleEngine () [inherited] Returns:

Scale engine
See also:
setScaleEngine()
 

const QwtScaleMap & QwtAbstractScale::scaleMap () const [inherited] Returns:

abstractScaleDraw()->scaleMap()
 

int QwtAbstractScale::scaleMaxMajor () const [inherited] Returns:

Max. number of major tick intervals The default value is 5.
 

int QwtAbstractScale::scaleMaxMinor () const [inherited] Returns:

Max. number of minor tick intervals The default value is 3.
 

QwtThermo::ScalePos QwtThermo::scalePosition () const Return the scale position.

See also:
setScalePosition()
 

void QwtAbstractScale::setAbstractScaleDraw (QwtAbstractScaleDraw *scaleDraw) [protected, inherited]

Set a scale draw. scaleDraw has to be created with new and will be deleted in ~QwtAbstractScale or the next call of setAbstractScaleDraw.

void QwtThermo::setAlarmBrush (const QBrush &brush)

Specify the liquid brush above the alarm threshold. Parameters:
brush New brush. The default is solid white.
See also:
alarmBrush()
 

void QwtThermo::setAlarmColor (const QColor &c)

Specify the liquid color above the alarm threshold. Parameters:
c New color. The default is white.
 

void QwtThermo::setAlarmEnabled (booltf)

Enable or disable the alarm threshold. Parameters:
tf true (disabled) or false (enabled)
 

void QwtThermo::setAlarmLevel (doublelevel) Specify the alarm threshold.

Parameters:
level Alarm threshold
See also:
alarmLevel()
 

void QwtAbstractScale::setAutoScale () [inherited]

Advise the widget to control the scale range internally. Autoscaling is on by default.
See also:
setScale(), autoScale()
 

void QwtThermo::setBorderWidth (intwidth) Set the border width of the pipe.

Parameters:
width Border width
See also:
borderWidth()
 

void QwtThermo::setFillBrush (const QBrush &brush)

Change the brush of the liquid. Parameters:
brush New brush. The default brush is solid black.
See also:
fillBrush()
 

void QwtThermo::setFillColor (const QColor &c)

Change the color of the liquid. Parameters:
c New color. The default color is black.
See also:
fillColor()
 

void QwtThermo::setMargin (intm)

Specify the distance between the pipe's endpoints and the widget's border. The margin is used to leave some space for the scale labels. If a large font is used, it is advisable to adjust the margins.
Parameters:
m New Margin. The default values are 10 for horizontal orientation and 20 for vertical orientation.
Warning:
The margin has no effect if the scale is disabled.
This function is a NOOP because margins are determined automatically.
 

void QwtThermo::setMaxValue (doublemax) Set the maximum value.

Parameters:
max Maximum value
See also:
maxValue(), setMinValue()
 

void QwtThermo::setMinValue (doublemin) Set the minimum value.

Parameters:
min Minimum value
See also:
minValue(), setMaxValue()
 

void QwtThermo::setOrientation (Qt::Orientationo, ScalePoss)

Set the thermometer orientation and the scale position. The scale position NoScale disables the scale.
Parameters:
o orientation. Possible values are Qt::Horizontal and Qt::Vertical. The default value is Qt::Vertical.
 
s Position of the scale. The default value is NoScale.
A valid combination of scale position and orientation is enforced:
a horizontal thermometer can have the scale positions TopScale, BottomScale or NoScale;
a vertical thermometer can have the scale positions LeftScale, RightScale or NoScale;
an invalid scale position will default to NoScale.
See also:
setScalePosition()
 

void QwtThermo::setPipeWidth (intwidth) Change the width of the pipe.

Parameters:
width Width of the pipe
See also:
pipeWidth()
 

void QwtThermo::setRange (doublevmin, doublevmax, boollogarithmic = false)

Set the range. Parameters:
vmin value corresponding lower or left end of the thermometer
 
vmax value corresponding to the upper or right end of the thermometer
 
logarithmic logarithmic mapping, true or false
 

void QwtAbstractScale::setScale (const QwtDoubleInterval &interval, doublestepSize = 0.0) [inherited]

Specify a scale. Disable autoscaling and define a scale by an interval and a step size
Parameters:
interval Interval
 
stepSize major step size
See also:
setAutoScale()
 

void QwtAbstractScale::setScale (const QwtScaleDiv &scaleDiv) [inherited]

Specify a scale. Disable autoscaling and define a scale by a scale division
Parameters:
scaleDiv Scale division
See also:
setAutoScale()
 

void QwtAbstractScale::setScale (doublevmin, doublevmax, doublestepSize = 0.0) [inherited]

Specify a scale. Disable autoscaling and define a scale by an interval and a step size
Parameters:
vmin lower limit of the scale interval
 
vmax upper limit of the scale interval
 
stepSize major step size
See also:
setAutoScale()
 

void QwtThermo::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:
scaleDraw ScaleDraw object, that has to be created with new and will be deleted in ~QwtThermo or the next call of setScaleDraw().
 

void QwtAbstractScale::setScaleEngine (QwtScaleEngine *scaleEngine) [inherited]

Set a scale engine. The scale engine is responsible for calculating the scale division, and in case of auto scaling how to align the scale.
scaleEngine has to be created with new and will be deleted in ~QwtAbstractScale or the next call of setScaleEngine.

void QwtAbstractScale::setScaleMaxMajor (intticks) [inherited]

Set the maximum number of major tick intervals. The scale's major ticks are calculated automatically such that the number of major intervals does not exceed ticks. The default value is 5.
Parameters:
ticks maximal number of major ticks.
See also:
QwtAbstractScaleDraw
 

void QwtAbstractScale::setScaleMaxMinor (intticks) [inherited]

Set the maximum number of minor tick intervals. The scale's minor ticks are calculated automatically such that the number of minor intervals does not exceed ticks. The default value is 3.
Parameters:
ticks
See also:
QwtAbstractScaleDraw
 

void QwtThermo::setScalePosition (ScalePosscalePos)

Change the scale position (and thermometer orientation). Parameters:
scalePos Position of the scale.
A valid combination of scale position and orientation is enforced:
if the new scale position is LeftScale or RightScale, the scale orientation will become Qt::Vertical;
if the new scale position is BottomScale or TopScale, the scale orientation will become Qt::Horizontal;
if the new scale position is NoScale, the scale orientation will not change.
See also:
setOrientation(), scalePosition()
 

void QwtThermo::setValue (doublevalue) [slot] Set the current value.

Parameters:
value New Value
See also:
value()
 

QSize QwtThermo::sizeHint () const [virtual] Returns:

the minimum size hint
See also:
minimumSizeHint()
 

double QwtThermo::value () const

Return the value.
 

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.
Mon Aug 1 2011 Version 5.2.2