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. QwtScaleIf::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 67 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=0, const char *name=0) | |
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 |
virtual QSizePolicy | sizePolicy () 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 20 of file qwt_thermo.cpp. |
|
Destructor.
Definition at line 27 of file qwt_thermo.cpp. |
|
Return the liquid brush above the alarm threshold.
Definition at line 529 of file qwt_thermo.cpp. |
|
Return the liquid color above the alarm threshold.
Definition at line 545 of file qwt_thermo.cpp. |
|
Return if the alarm threshold is enabled or disabled.
Definition at line 611 of file qwt_thermo.cpp. |
|
Return the alarm threshold.
Definition at line 559 of file qwt_thermo.cpp. |
|
Return the border width of the thermometer pipe.
Definition at line 457 of file qwt_thermo.cpp. |
|
Draw the whole QwtThermo.
Definition at line 80 of file qwt_thermo.cpp. References QwtScaleDraw::draw(), drawThermo(), and QwtScaleIf::scaleDraw(). Referenced by paintEvent(). |
|
Redraw the liquid in thermometer pipe.
Definition at line 288 of file qwt_thermo.cpp. References QwtDiMap::limTransform(). Referenced by draw(). |
|
Return the liquid brush.
Definition at line 497 of file qwt_thermo.cpp. |
|
Return the liquid color.
Definition at line 513 of file qwt_thermo.cpp. |
|
Notify a font change.
Definition at line 274 of file qwt_thermo.cpp. References layoutThermo(). |
|
Recalculate the QwtThermo geometry and layout based on the QwtThermo::rect() and the fonts.
Definition at line 109 of file qwt_thermo.cpp. References QwtScaleDraw::minBorderDist(), QwtScaleIf::scaleDraw(), QwtScaleDraw::setGeometry(), and QwtDiMap::setIntRange(). Referenced by fontChange(), resizeEvent(), scaleChange(), setBorderWidth(), setOrientation(), setPipeWidth(), and setRange(). |
|
Return the maximum value.
Definition at line 133 of file qwt_thermo.h. |
|
Return a minimum size hint.
Definition at line 652 of file qwt_thermo.cpp. References QwtScaleDraw::minHeight(), QwtScaleDraw::minWidth(), and QwtScaleIf::scaleDraw(). Referenced by sizeHint(). |
|
Return the minimum value.
Definition at line 138 of file qwt_thermo.h. |
|
Qt paint event.
Definition at line 68 of file qwt_thermo.cpp. References draw(), and QwtPaintBuffer::painter(). |
|
Return the width of the pipe.
Definition at line 575 of file qwt_thermo.cpp. |
|
Qt resize event handler.
Definition at line 98 of file qwt_thermo.cpp. References layoutThermo(). |
|
Notify a scale change.
Implements QwtScaleIf. Definition at line 281 of file qwt_thermo.cpp. References layoutThermo(). Referenced by setRange(). |
|
Return the scale position.
Definition at line 268 of file qwt_thermo.cpp. |
|
Specify the liquid brush above the alarm threshold.
Definition at line 522 of file qwt_thermo.cpp. |
|
Specify the liquid color above the alarm threshold.
Definition at line 538 of file qwt_thermo.cpp. |
|
Enable or disable the alarm threshold.
Definition at line 604 of file qwt_thermo.cpp. |
|
Specify the alarm threshold.
Definition at line 551 of file qwt_thermo.cpp. |
|
Set the border width of the pipe.
Definition at line 446 of file qwt_thermo.cpp. References layoutThermo(). |
|
Change the brush of the liquid.
Definition at line 490 of file qwt_thermo.cpp. |
|
Change the color of the liquid.
Definition at line 506 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 595 of file qwt_thermo.cpp. |
|
Set the maximum value.
Definition at line 131 of file qwt_thermo.h. |
|
Set the minimum value.
Definition at line 136 of file qwt_thermo.h. |
|
Set the thermometer orientation and the scale position. The scale position None disables the scale.
Definition at line 220 of file qwt_thermo.cpp. References layoutThermo(). Referenced by setScalePosition(). |
|
Change the width of the pipe.
Definition at line 565 of file qwt_thermo.cpp. References layoutThermo(). |
|
Set the range.
Definition at line 468 of file qwt_thermo.cpp. References QwtScaleIf::hasUserScale(), layoutThermo(), scaleChange(), QwtScaleDraw::scaleDiv(), QwtScaleIf::scaleDraw(), QwtScaleIf::scaleMaxMajor(), QwtScaleIf::scaleMaxMinor(), QwtDiMap::setDblRange(), and QwtScaleDraw::setScale(). |
|
Change the scale position (and thermometer orientation).
Definition at line 257 of file qwt_thermo.cpp. References setOrientation(). |
|
Set the current value.
Definition at line 58 of file qwt_thermo.cpp. |
|
Definition at line 642 of file qwt_thermo.cpp. References minimumSizeHint(). |
|
Definition at line 621 of file qwt_thermo.cpp. References QwtScaleDraw::orientation(), and QwtScaleIf::scaleDraw(). |
|
Return the value.
Definition at line 141 of file qwt_thermo.h. |