Qwt User's Guide  6.2.0
QwtThermo Class Reference

The Thermometer Widget. More...

#include <qwt_thermo.h>

Inheritance diagram for QwtThermo:

Public Types

enum  ScalePosition { NoScale , LeadingScale , TrailingScale }
 
enum  OriginMode { OriginMinimum , OriginMaximum , OriginCustom }
 

Public Slots

virtual void setValue (double)
 

Public Member Functions

 QwtThermo (QWidget *parent=NULL)
 
virtual ~QwtThermo ()
 Destructor.
 
void setOrientation (Qt::Orientation)
 Set the orientation. More...
 
Qt::Orientation orientation () const
 
void setScalePosition (ScalePosition)
 Change the position of the scale. More...
 
ScalePosition scalePosition () const
 
void setSpacing (int)
 Change the spacing between pipe and scale. More...
 
int spacing () const
 
void setBorderWidth (int)
 
int borderWidth () const
 
void setOriginMode (OriginMode)
 Change how the origin is determined. More...
 
OriginMode originMode () const
 
void setOrigin (double)
 Specifies the custom origin. More...
 
double origin () const
 
void setFillBrush (const QBrush &)
 Change the brush of the liquid. More...
 
QBrush fillBrush () const
 
void setAlarmBrush (const QBrush &)
 Specify the liquid brush above the alarm threshold. More...
 
QBrush alarmBrush () const
 
void setAlarmLevel (double)
 
double alarmLevel () const
 
void setAlarmEnabled (bool)
 Enable or disable the alarm threshold. More...
 
bool alarmEnabled () const
 
void setColorMap (QwtColorMap *)
 Assign a color map for the fill color. More...
 
QwtColorMapcolorMap ()
 
const QwtColorMapcolorMap () const
 
void setPipeWidth (int)
 
int pipeWidth () const
 
void setRangeFlags (QwtInterval::BorderFlags)
 Exclude/Include min/max values. More...
 
QwtInterval::BorderFlags rangeFlags () const
 
double value () const
 Return the value.
 
virtual QSize sizeHint () const override
 
virtual QSize minimumSizeHint () const override
 
void setScaleDraw (QwtScaleDraw *)
 Set a scale draw. More...
 
const QwtScaleDrawscaleDraw () const
 
- Public Member Functions inherited from QwtAbstractScale
 QwtAbstractScale (QWidget *parent=NULL)
 
virtual ~QwtAbstractScale ()
 Destructor.
 
void setScale (double lowerBound, double upperBound)
 Specify a scale. More...
 
void setScale (const QwtInterval &)
 Specify a scale. More...
 
void setScale (const QwtScaleDiv &)
 Specify a scale. More...
 
const QwtScaleDivscaleDiv () const
 
void setLowerBound (double value)
 
double lowerBound () const
 
void setUpperBound (double value)
 
double upperBound () const
 
void setScaleStepSize (double stepSize)
 Set the step size used for calculating a scale division. More...
 
double scaleStepSize () const
 
void setScaleMaxMajor (int ticks)
 Set the maximum number of major tick intervals. More...
 
int scaleMaxMinor () const
 
void setScaleMaxMinor (int ticks)
 Set the maximum number of minor tick intervals. More...
 
int scaleMaxMajor () const
 
void setScaleEngine (QwtScaleEngine *)
 Set a scale engine. More...
 
const QwtScaleEnginescaleEngine () const
 
QwtScaleEnginescaleEngine ()
 
int transform (double) const
 
double invTransform (int) const
 
bool isInverted () const
 
double minimum () const
 
double maximum () const
 
const QwtScaleMapscaleMap () const
 

Protected Member Functions

virtual void drawLiquid (QPainter *, const QRect &) const
 
virtual void scaleChange () override
 Notify a scale change.
 
virtual void paintEvent (QPaintEvent *) override
 
virtual void resizeEvent (QResizeEvent *) override
 
virtual void changeEvent (QEvent *) override
 
QwtScaleDrawscaleDraw ()
 
QRect pipeRect () const
 
QRect fillRect (const QRect &) const
 Calculate the filled rectangle of the pipe. More...
 
QRect alarmRect (const QRect &) const
 Calculate the alarm rectangle of the pipe. More...
 
- Protected Member Functions inherited from QwtAbstractScale
void rescale (double lowerBound, double upperBound, double stepSize)
 
void setAbstractScaleDraw (QwtAbstractScaleDraw *)
 Set a scale draw. More...
 
const QwtAbstractScaleDrawabstractScaleDraw () const
 
QwtAbstractScaleDrawabstractScaleDraw ()
 
void updateScaleDraw ()
 

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

Definition at line 46 of file qwt_thermo.h.

Member Enumeration Documentation

◆ OriginMode

Origin mode. This property specifies where the beginning of the liquid is placed.

See also
setOriginMode(), setOrigin()
Enumerator
OriginMinimum 

The origin is the minimum of the scale.

OriginMaximum 

The origin is the maximum of the scale.

OriginCustom 

The origin is specified using the origin() property.

Definition at line 91 of file qwt_thermo.h.

◆ ScalePosition

Position of the scale

See also
setScalePosition(), setOrientation()
Enumerator
NoScale 

The slider has no scale.

LeadingScale 

The scale is right of a vertical or below of a horizontal slider.

TrailingScale 

The scale is left of a vertical or above of a horizontal slider.

Definition at line 73 of file qwt_thermo.h.

Constructor & Destructor Documentation

◆ QwtThermo()

QwtThermo::QwtThermo ( QWidget *  parent = NULL)
explicit

Constructor

Parameters
parentParent widget

Definition at line 121 of file qwt_thermo.cpp.

Member Function Documentation

◆ alarmBrush()

QBrush QwtThermo::alarmBrush ( ) const
Returns
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

Definition at line 761 of file qwt_thermo.cpp.

◆ alarmEnabled()

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

Definition at line 837 of file qwt_thermo.cpp.

◆ alarmLevel()

double QwtThermo::alarmLevel ( ) const
Returns
Alarm threshold.
See also
setAlarmLevel()
Warning
The alarm threshold has no effect, when a color map has been assigned

Definition at line 789 of file qwt_thermo.cpp.

◆ alarmRect()

QRect QwtThermo::alarmRect ( const QRect &  fillRect) const
protected

Calculate the alarm rectangle of the pipe.

Parameters
fillRectFilled rectangle in the pipe
Returns
Rectangle to be filled with the alarm brush
See also
pipeRect(), fillRect(), alarmLevel(), alarmBrush()

Definition at line 944 of file qwt_thermo.cpp.

◆ borderWidth()

int QwtThermo::borderWidth ( ) const
Returns
Border width of the thermometer pipe.
See also
setBorderWidth()

Definition at line 671 of file qwt_thermo.cpp.

◆ changeEvent()

void QwtThermo::changeEvent ( QEvent *  event)
overrideprotectedvirtual

Qt change event handler

Parameters
eventEvent

Reimplemented from QwtAbstractScale.

Definition at line 277 of file qwt_thermo.cpp.

◆ colorMap() [1/2]

QwtColorMap * QwtThermo::colorMap ( )
Returns
Color map for the fill color
Warning
The alarm threshold has no effect, when a color map has been assigned

Definition at line 697 of file qwt_thermo.cpp.

◆ colorMap() [2/2]

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

Definition at line 707 of file qwt_thermo.cpp.

◆ drawLiquid()

void QwtThermo::drawLiquid ( QPainter *  painter,
const QRect &  pipeRect 
) const
protectedvirtual

Redraw the liquid in thermometer pipe.

Parameters
painterPainter
pipeRectBounding rectangle of the pipe without borders

Definition at line 546 of file qwt_thermo.cpp.

◆ fillBrush()

QBrush QwtThermo::fillBrush ( ) const
Returns
Liquid ( QPalette::ButtonText ) brush.
See also
setFillBrush(), QWidget::palette()

Definition at line 731 of file qwt_thermo.cpp.

◆ fillRect()

QRect QwtThermo::fillRect ( const QRect &  pipeRect) const
protected

Calculate the filled rectangle of the pipe.

Parameters
pipeRectRectangle of the pipe
Returns
Rectangle to be filled ( fill and alarm brush )
See also
pipeRect(), alarmRect()

Definition at line 897 of file qwt_thermo.cpp.

◆ minimumSizeHint()

QSize QwtThermo::minimumSizeHint ( ) const
overridevirtual
Returns
Minimum size hint
Warning
The return value depends on the font and the scale.
See also
sizeHint()

Definition at line 856 of file qwt_thermo.cpp.

◆ orientation()

Qt::Orientation QwtThermo::orientation ( ) const
Returns
Orientation
See also
setOrientation()

Definition at line 455 of file qwt_thermo.cpp.

◆ origin()

double QwtThermo::origin ( ) const
Returns
Origin of the thermo, when OriginCustom is enabled
See also
setOrigin(), setOriginMode(), originMode()

Definition at line 504 of file qwt_thermo.cpp.

◆ originMode()

QwtThermo::OriginMode QwtThermo::originMode ( ) const
Returns
Mode, how the origin is determined.
See also
setOriginMode(), serOrigin(), origin()

Definition at line 477 of file qwt_thermo.cpp.

◆ paintEvent()

void QwtThermo::paintEvent ( QPaintEvent *  event)
overrideprotectedvirtual

Paint event handler

Parameters
eventPaint event

Definition at line 235 of file qwt_thermo.cpp.

◆ pipeRect()

QRect QwtThermo::pipeRect ( ) const
protected
Returns
Bounding rectangle of the pipe ( without borders ) in widget coordinates

Definition at line 385 of file qwt_thermo.cpp.

◆ pipeWidth()

int QwtThermo::pipeWidth ( ) const
Returns
Width of the pipe.
See also
setPipeWidth()

Definition at line 813 of file qwt_thermo.cpp.

◆ rangeFlags()

QwtInterval::BorderFlags QwtThermo::rangeFlags ( ) const
Returns
Range flags
See also
setRangeFlags()

Definition at line 170 of file qwt_thermo.cpp.

◆ resizeEvent()

void QwtThermo::resizeEvent ( QResizeEvent *  event)
overrideprotectedvirtual

Resize event handler

Parameters
eventResize event

Definition at line 267 of file qwt_thermo.cpp.

◆ scaleDraw() [1/2]

QwtScaleDraw * QwtThermo::scaleDraw ( )
protected
Returns
the scale draw of the thermo
See also
setScaleDraw()

Definition at line 226 of file qwt_thermo.cpp.

◆ scaleDraw() [2/2]

const QwtScaleDraw * QwtThermo::scaleDraw ( ) const
Returns
the scale draw of the thermo
See also
setScaleDraw()

Definition at line 217 of file qwt_thermo.cpp.

◆ scalePosition()

QwtThermo::ScalePosition QwtThermo::scalePosition ( ) const
Returns
Scale position.
See also
setScalePosition()

Definition at line 530 of file qwt_thermo.cpp.

◆ setAlarmBrush()

void QwtThermo::setAlarmBrush ( const QBrush &  brush)

Specify the liquid brush above the alarm threshold.

Changes the QPalette::Highlight brush of the palette.

Parameters
brushNew brush.
See also
alarmBrush(), QWidget::setPalette()
Warning
The alarm threshold has no effect, when a color map has been assigned

Definition at line 747 of file qwt_thermo.cpp.

◆ setAlarmEnabled()

void QwtThermo::setAlarmEnabled ( bool  on)

Enable or disable the alarm threshold.

Parameters
ontrue (disabled) or false (enabled)
Warning
The alarm threshold has no effect, when a color map has been assigned

Definition at line 825 of file qwt_thermo.cpp.

◆ setAlarmLevel()

void QwtThermo::setAlarmLevel ( double  level)

Specify the alarm threshold.

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

Definition at line 775 of file qwt_thermo.cpp.

◆ setBorderWidth()

void QwtThermo::setBorderWidth ( int  width)

Set the border width of the pipe.

Parameters
widthBorder width
See also
borderWidth()

Definition at line 655 of file qwt_thermo.cpp.

◆ setColorMap()

void QwtThermo::setColorMap ( QwtColorMap colorMap)

Assign a color map for the fill color.

Parameters
colorMapColor map
Warning
The alarm threshold has no effect, when a color map has been assigned

Definition at line 683 of file qwt_thermo.cpp.

◆ setFillBrush()

void QwtThermo::setFillBrush ( const QBrush &  brush)

Change the brush of the liquid.

Changes the QPalette::ButtonText brush of the palette.

Parameters
brushNew brush.
See also
fillBrush(), QWidget::setPalette()

Definition at line 720 of file qwt_thermo.cpp.

◆ setOrientation()

void QwtThermo::setOrientation ( Qt::Orientation  orientation)

Set the orientation.

Parameters
orientationAllowed values are Qt::Horizontal and Qt::Vertical.
See also
orientation(), scalePosition()

Definition at line 432 of file qwt_thermo.cpp.

◆ setOrigin()

void QwtThermo::setOrigin ( double  origin)

Specifies the custom origin.

If originMode is set to OriginCustom this property controls where the liquid starts.

Parameters
originNew origin level
See also
setOriginMode(), originMode(), origin()

Definition at line 491 of file qwt_thermo.cpp.

◆ setOriginMode()

void QwtThermo::setOriginMode ( OriginMode  m)

Change how the origin is determined.

See also
originMode(), serOrigin(), origin()

Definition at line 464 of file qwt_thermo.cpp.

◆ setPipeWidth()

void QwtThermo::setPipeWidth ( int  width)

Change the width of the pipe.

Parameters
widthWidth of the pipe
See also
pipeWidth()

Definition at line 800 of file qwt_thermo.cpp.

◆ setRangeFlags()

void QwtThermo::setRangeFlags ( QwtInterval::BorderFlags  flags)

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
flagsRange flags
See also
rangeFlags()

Definition at line 157 of file qwt_thermo.cpp.

◆ setScaleDraw()

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

Definition at line 207 of file qwt_thermo.cpp.

◆ setScalePosition()

void QwtThermo::setScalePosition ( ScalePosition  scalePosition)

Change the position of the scale.

Parameters
scalePositionPosition of the scale.
See also
ScalePosition, scalePosition()

Definition at line 515 of file qwt_thermo.cpp.

◆ setSpacing()

void QwtThermo::setSpacing ( int  spacing)

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
spacingNumber of pixels
See also
spacing();

Definition at line 629 of file qwt_thermo.cpp.

◆ setValue

void QwtThermo::setValue ( double  value)
virtualslot

Set the current value.

Parameters
valueNew Value
See also
value()

Definition at line 181 of file qwt_thermo.cpp.

◆ sizeHint()

QSize QwtThermo::sizeHint ( ) const
overridevirtual
Returns
the minimum size hint
See also
minimumSizeHint()

Definition at line 846 of file qwt_thermo.cpp.

◆ spacing()

int QwtThermo::spacing ( ) const
Returns
Number of pixels between pipe and scale
See also
setSpacing()

Definition at line 645 of file qwt_thermo.cpp.