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 64 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 |
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) |
|
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 645 of file qwt_thermo.cpp. |
|
Return the liquid color above the alarm threshold.
Definition at line 661 of file qwt_thermo.cpp. |
|
Return if the alarm threshold is enabled or disabled.
Definition at line 727 of file qwt_thermo.cpp. |
|
Return the alarm threshold.
Definition at line 675 of file qwt_thermo.cpp. |
|
Return the border width of the thermometer pipe.
Definition at line 566 of file qwt_thermo.cpp. |
|
Draw the whole QwtThermo.
Definition at line 148 of file qwt_thermo.cpp. References QwtScaleDraw::draw(), drawThermo(), and QwtAbstractScale::scaleDraw(). Referenced by paintEvent(). |
|
Redraw the liquid in thermometer pipe.
Definition at line 391 of file qwt_thermo.cpp. Referenced by draw(). |
|
Return the liquid brush.
Definition at line 613 of file qwt_thermo.cpp. |
|
Return the liquid color.
Definition at line 629 of file qwt_thermo.cpp. |
|
Notify a font change.
Definition at line 377 of file qwt_thermo.cpp. References layoutThermo(). |
|
Recalculate the QwtThermo geometry and layout based on the QwtThermo::rect() and the fonts.
Definition at line 188 of file qwt_thermo.cpp. References QwtScaleDraw::map(), QwtScaleDraw::minBorderDist(), QwtAbstractScale::scaleDraw(), QwtScaleDraw::setGeometry(), and QwtScaleMap::setPaintInterval(). 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 746 of file qwt_thermo.cpp. References QwtScaleDraw::minHeight(), QwtScaleDraw::minWidth(), and QwtAbstractScale::scaleDraw(). Referenced by sizeHint(). |
|
Return the minimum value.
Definition at line 108 of file qwt_thermo.cpp. |
|
Qt paint event.
Definition at line 131 of file qwt_thermo.cpp. References draw(), and QwtPaintBuffer::painter(). |
|
Return the width of the pipe.
Definition at line 691 of file qwt_thermo.cpp. |
|
Qt resize event handler.
Definition at line 177 of file qwt_thermo.cpp. References layoutThermo(). |
|
Notify a scale change.
Reimplemented from QwtAbstractScale. Definition at line 384 of file qwt_thermo.cpp. References layoutThermo(). |
|
Return the scale position.
Definition at line 371 of file qwt_thermo.cpp. |
|
Specify the liquid brush above the alarm threshold.
Definition at line 638 of file qwt_thermo.cpp. |
|
Specify the liquid color above the alarm threshold.
Definition at line 654 of file qwt_thermo.cpp. |
|
Enable or disable the alarm threshold.
Definition at line 720 of file qwt_thermo.cpp. |
|
Specify the alarm threshold.
Definition at line 667 of file qwt_thermo.cpp. |
|
Set the border width of the pipe.
Definition at line 555 of file qwt_thermo.cpp. References layoutThermo(). |
|
Change the brush of the liquid.
Definition at line 606 of file qwt_thermo.cpp. |
|
Change the color of the liquid.
Definition at line 622 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 711 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 299 of file qwt_thermo.cpp. References layoutThermo(). Referenced by setScalePosition(). |
|
Change the width of the pipe.
Definition at line 681 of file qwt_thermo.cpp. References layoutThermo(). |
|
Set the range.
Definition at line 577 of file qwt_thermo.cpp. References QwtAbstractScale::autoScale(), layoutThermo(), QwtAbstractScale::rescale(), QwtAbstractScale::scaleEngine(), QwtAbstractScale::setScaleEngine(), QwtScaleMap::setScaleInterval(), and QwtScaleMap::setTransformation(). Referenced by QwtThermo(), setMaxValue(), and setMinValue(). |
|
Change the scale position (and thermometer orientation).
Definition at line 360 of file qwt_thermo.cpp. References setOrientation(). |
|
Set the current value.
Definition at line 114 of file qwt_thermo.cpp. |
|
Definition at line 736 of file qwt_thermo.cpp. References minimumSizeHint(). |
|
Return the value.
Definition at line 124 of file qwt_thermo.cpp. |