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


virtual void setValue (double val)
 

Public Member Functions


QwtThermo (QWidget *parent=NULL)
 
virtual ~QwtThermo ()
 
void setOrientation (Qt::Orientation, ScalePos)
 
void setScalePosition (ScalePos s)
 
ScalePos scalePosition () const
 
void setSpacing (int)
 
int spacing () const
 
void setBorderWidth (int w)
 
int borderWidth () const
 
void setFillBrush (const QBrush &b)
 
const QBrush & fillBrush () const
 
void setAlarmBrush (const QBrush &b)
 
const QBrush & alarmBrush () const
 
void setAlarmLevel (double v)
 
double alarmLevel () const
 
void setAlarmEnabled (bool tf)
 
bool alarmEnabled () const
 
void setColorMap (QwtColorMap *)
 
QwtColorMap * colorMap ()
 
const QwtColorMap * colorMap () const
 
void setPipeWidth (int w)
 
int pipeWidth () const
 
void setRangeFlags (QwtInterval::BorderFlags)
 
QwtInterval::BorderFlags rangeFlags () const
 
void setMaxValue (double v)
 
double maxValue () const
 
void setMinValue (double v)
 
double minValue () const
 
double value () const
 
void setRange (double vmin, double vmax, bool lg=false)
 
virtual QSize sizeHint () const
 
virtual QSize minimumSizeHint () const
 
void setScaleDraw (QwtScaleDraw *)
 
const QwtScaleDraw * scaleDraw () const
 

Protected Member Functions


virtual void drawLiquid (QPainter *, const QRect &) const
 
virtual void scaleChange ()
 
virtual void paintEvent (QPaintEvent *)
 
virtual void resizeEvent (QResizeEvent *)
 
virtual void changeEvent (QEvent *)
 
QwtScaleDraw * scaleDraw ()
 
QRect pipeRect () const
 

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.
The fill colors might be calculated from an optional color map If no color map has been assigned QwtThermo uses the following colors/brushes from the widget palette:
QPalette::Base Background of the pipe
QPalette::ButtonText Fill brush below the alarm level
QPalette::Highlight Fill brush for the values above the alarm level
QPalette::WindowText For the axis of the scale
QPalette::Text For the labels of the scale
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(); }
 

Member Enumeration Documentation

enum QwtThermo::ScalePos Scale position. QwtThermo tries to enforce valid combinations of its orientation and scale position:

Qt::Horizonal combines with NoScale, TopScale and BottomScale
Qt::Vertical combines with NoScale, LeftScale and RightScale
See also:
setOrientation(), setScalePosition()
 
Enumerator:
NoScale
No scale.
LeftScale
The scale is left of the pipe.
RightScale
The scale is right of the pipe.
TopScale
The scale is above the pipe.
BottomScale
The scale is below the pipe.

Constructor & Destructor Documentation

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

Parameters:
parent Parent widget
 

QwtThermo::~QwtThermo () [virtual]

Destructor.

Member Function Documentation

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

See also:
setAlarmBrush(), QWidget::palette()
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

bool QwtThermo::alarmEnabled () const Returns:

True, when the alarm threshold is enabled.
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

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

See also:
setAlarmLevel()
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

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

See also:
setBorderWidth()
 

void QwtThermo::changeEvent (QEvent *event) [protected, virtual] Qt change event handler

Parameters:
event Event
 

QwtColorMap * QwtThermo::colorMap () Returns:

Color map for the fill color
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

const QwtColorMap * QwtThermo::colorMap () const Returns:

Color map for the fill color
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

void QwtThermo::drawLiquid (QPainter *painter, const QRect &pipeRect) const [protected, virtual] Redraw the liquid in thermometer pipe.

Parameters:
painter Painter
 
pipeRect Bounding rectangle of the pipe without borders
 

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

See also:
setFillBrush(), QWidget::palette()
 

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.

Parameters:
event Paint event
 

QRect QwtThermo::pipeRect () const [protected] Returns:

Bounding rectangle of the pipe ( without borders ) in widget coordinates
 

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

See also:
setPipeWidth()
 

QwtInterval::BorderFlags QwtThermo::rangeFlags () const Returns:

Range flags
See also:
setRangeFlags()
 

void QwtThermo::resizeEvent (QResizeEvent *event) [protected, virtual] Qt resize event handler

Parameters:
event Resize event
 

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

Notify a scale change.
Reimplemented from QwtAbstractScale.

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

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

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

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

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

See also:
setScalePosition()
 

void QwtThermo::setAlarmBrush (const QBrush &brush)

Specify the liquid brush above the alarm threshold. Changes the QPalette::Highlight brush of the palette.
Parameters:
brush New brush.
See also:
alarmBrush(), QWidget::setPalette()
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

void QwtThermo::setAlarmEnabled (booltf)

Enable or disable the alarm threshold. Parameters:
tf true (disabled) or false (enabled)
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

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

Parameters:
level Alarm threshold
See also:
alarmLevel()
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

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

Parameters:
width Border width
See also:
borderWidth()
 

void QwtThermo::setColorMap (QwtColorMap *colorMap)

Assign a color map for the fill color. Parameters:
colorMap Color map
Warning:
The alarm threshold has no effect, when a color map has been assigned
 

void QwtThermo::setFillBrush (const QBrush &brush)

Change the brush of the liquid. Changes the QPalette::ButtonText brush of the palette.
Parameters:
brush New brush.
See also:
fillBrush(), QWidget::setPalette()
 

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

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

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

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

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 (doubleminValue, doublemaxValue, boollogarithmic = false)

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

void QwtThermo::setRangeFlags (QwtInterval::BorderFlagsflags)

Exclude/Include min/max values. According to the flags minValue() and maxValue() are included/excluded from the pipe. In case of an excluded value the corresponding tick is painted 1 pixel off of the pipeRect().
F.e. when a minimum of 0.0 has to be displayed as an empty pipe the minValue() needs to be excluded.
Parameters:
flags Range flags
See also:
rangeFlags()
 

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 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::setSpacing (intspacing)

Change the spacing between pipe and scale. A spacing of 0 means, that the backbone of the scale is below the pipe.
The default setting is 3 pixels.
Parameters:
spacing Number of pixels
See also:
spacing();
 

void QwtThermo::setValue (doublevalue) [virtual, 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()
 

int QwtThermo::spacing () const Returns:

Number of pixels between pipe and scale
See also:
setSpacing()
 

double QwtThermo::value () const

Return the value.
 

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.
Fri Apr 15 2011 Version 6.0.0