QwtThermo is a widget which displays a value in an interval. It supports:
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(); }
Definition at line 66 of file qwt_thermo.h.
Public Types | |
enum | ScalePos { None, Left, Right, Top, Bottom } |
Public Slots | |
void | setValue (double val) |
Public Member Functions | |
QwtThermo (QWidget *parent=NULL) | |
virtual | ~QwtThermo () |
void | setOrientation (Qt::Orientation o, ScalePos s) |
void | setScalePosition (ScalePos s) |
ScalePos | scalePosition () const |
void | setBorderWidth (int w) |
int | borderWidth () const |
void | setFillBrush (const QBrush &b) |
const QBrush & | fillBrush () const |
void | setFillColor (const QColor &c) |
const QColor & | fillColor () const |
void | setAlarmBrush (const QBrush &b) |
const QBrush & | alarmBrush () const |
void | setAlarmColor (const QColor &c) |
const QColor & | alarmColor () const |
void | setAlarmLevel (double v) |
double | alarmLevel () const |
void | setAlarmEnabled (bool tf) |
bool | alarmEnabled () const |
void | setPipeWidth (int w) |
int | pipeWidth () 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) |
void | setMargin (int m) |
virtual QSize | sizeHint () const |
virtual QSize | minimumSizeHint () const |
void | setScaleDraw (QwtScaleDraw *) |
const QwtScaleDraw * | scaleDraw () const |
Protected Member Functions | |
void | draw (QPainter *p, const QRect &update_rect) |
void | drawThermo (QPainter *p) |
void | layoutThermo (bool update=true) |
virtual void | scaleChange () |
virtual void | fontChange (const QFont &oldFont) |
virtual void | paintEvent (QPaintEvent *e) |
virtual void | resizeEvent (QResizeEvent *e) |
QwtScaleDraw * | scaleDraw () |
|
Constructor.
Definition at line 61 of file qwt_thermo.cpp. References setRange(). |
|
Destructor.
Definition at line 84 of file qwt_thermo.cpp. |
|
Return the liquid brush above the alarm threshold.
Definition at line 669 of file qwt_thermo.cpp. |
|
Return the liquid color above the alarm threshold.
Definition at line 685 of file qwt_thermo.cpp. |
|
Return if the alarm threshold is enabled or disabled.
Definition at line 751 of file qwt_thermo.cpp. |
|
Return the alarm threshold.
Definition at line 699 of file qwt_thermo.cpp. |
|
Return the border width of the thermometer pipe.
Definition at line 590 of file qwt_thermo.cpp. |
|
Draw the whole QwtThermo.
Definition at line 162 of file qwt_thermo.cpp. References QwtAbstractScaleDraw::draw(), drawThermo(), and scaleDraw(). Referenced by paintEvent(). |
|
Redraw the liquid in thermometer pipe.
Definition at line 415 of file qwt_thermo.cpp. Referenced by draw(). |
|
Return the liquid brush.
Definition at line 637 of file qwt_thermo.cpp. |
|
Return the liquid color.
Definition at line 653 of file qwt_thermo.cpp. |
|
Notify a font change.
Definition at line 401 of file qwt_thermo.cpp. References layoutThermo(). |
|
Recalculate the QwtThermo geometry and layout based on the QwtThermo::rect() and the fonts.
Definition at line 202 of file qwt_thermo.cpp. References QwtScaleDraw::getBorderDistHint(), QwtScaleDraw::move(), qwtMax, scaleDraw(), QwtScaleDraw::setAlignment(), and QwtScaleDraw::setLength(). Referenced by fontChange(), resizeEvent(), scaleChange(), setBorderWidth(), setOrientation(), setPipeWidth(), and setRange(). |
|
Return the maximum value.
Definition at line 96 of file qwt_thermo.cpp. |
|
Return a minimum size hint.
Definition at line 770 of file qwt_thermo.cpp. References QwtScaleDraw::extent(), QwtScaleDraw::minLength(), and scaleDraw(). Referenced by sizeHint(). |
|
Return the minimum value.
Definition at line 108 of file qwt_thermo.cpp. |
|
Qt paint event.
Definition at line 145 of file qwt_thermo.cpp. References draw(), and QwtPaintBuffer::painter(). |
|
Return the width of the pipe.
Definition at line 715 of file qwt_thermo.cpp. |
|
Qt resize event handler.
Definition at line 191 of file qwt_thermo.cpp. References layoutThermo(). |
|
Notify a scale change.
Reimplemented from QwtAbstractScale. Definition at line 408 of file qwt_thermo.cpp. References layoutThermo(). |
|
Return the scale position.
Definition at line 395 of file qwt_thermo.cpp. |
|
Specify the liquid brush above the alarm threshold.
Definition at line 662 of file qwt_thermo.cpp. |
|
Specify the liquid color above the alarm threshold.
Definition at line 678 of file qwt_thermo.cpp. |
|
Enable or disable the alarm threshold.
Definition at line 744 of file qwt_thermo.cpp. |
|
Specify the alarm threshold.
Definition at line 691 of file qwt_thermo.cpp. |
|
Set the border width of the pipe.
Definition at line 579 of file qwt_thermo.cpp. References layoutThermo(), and qwtMin. |
|
Change the brush of the liquid.
Definition at line 630 of file qwt_thermo.cpp. |
|
Change the color of the liquid.
Definition at line 646 of file qwt_thermo.cpp. |
|
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.
Definition at line 735 of file qwt_thermo.cpp. |
|
Set the maximum value.
Definition at line 90 of file qwt_thermo.cpp. References setRange(). |
|
Set the minimum value.
Definition at line 102 of file qwt_thermo.cpp. References setRange(). |
|
Set the thermometer orientation and the scale position. The scale position None disables the scale.
Definition at line 323 of file qwt_thermo.cpp. References layoutThermo(). Referenced by setScalePosition(). |
|
Change the width of the pipe.
Definition at line 705 of file qwt_thermo.cpp. References layoutThermo(). |
|
Set the range.
Definition at line 601 of file qwt_thermo.cpp. References QwtAbstractScale::autoScale(), layoutThermo(), QwtAbstractScale::rescale(), QwtAbstractScale::scaleEngine(), and QwtAbstractScale::setScaleEngine(). Referenced by QwtThermo(), setMaxValue(), and setMinValue(). |
|
Change the scale position (and thermometer orientation).
Definition at line 384 of file qwt_thermo.cpp. References setOrientation(). |
|
Set the current value.
Definition at line 114 of file qwt_thermo.cpp. |
|
Definition at line 760 of file qwt_thermo.cpp. References minimumSizeHint(). |
|
Return the value.
Definition at line 124 of file qwt_thermo.cpp. |