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 69 of file qwt_thermo.h.
Public Types | |
enum | ScalePos { NoScale, LeftScale, RightScale, TopScale, BottomScale } |
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 64 of file qwt_thermo.cpp. |
|
Destructor.
Definition at line 105 of file qwt_thermo.cpp. |
|
Return the liquid brush above the alarm threshold.
Definition at line 694 of file qwt_thermo.cpp. |
|
Return the liquid color above the alarm threshold.
Definition at line 710 of file qwt_thermo.cpp. |
|
Return if the alarm threshold is enabled or disabled.
Definition at line 776 of file qwt_thermo.cpp. |
|
Return the alarm threshold.
Definition at line 724 of file qwt_thermo.cpp. |
|
Return the border width of the thermometer pipe.
Definition at line 615 of file qwt_thermo.cpp. |
|
Draw the whole QwtThermo.
Definition at line 183 of file qwt_thermo.cpp. References QwtAbstractScaleDraw::draw(), and scaleDraw(). Referenced by paintEvent(). |
|
Redraw the liquid in thermometer pipe.
Definition at line 440 of file qwt_thermo.cpp. |
|
Return the liquid brush.
Definition at line 662 of file qwt_thermo.cpp. |
|
Return the liquid color.
Definition at line 678 of file qwt_thermo.cpp. |
|
Notify a font change.
Definition at line 426 of file qwt_thermo.cpp. References layoutThermo(). |
|
Recalculate the QwtThermo geometry and layout based on the QwtThermo::rect() and the fonts.
Definition at line 223 of file qwt_thermo.cpp. References QwtScaleDraw::getBorderDistHint(), QwtScaleDraw::move(), scaleDraw(), QwtScaleDraw::setAlignment(), and QwtScaleDraw::setLength(). Referenced by fontChange(), resizeEvent(), scaleChange(), setBorderWidth(), setOrientation(), setPipeWidth(), and setRange(). |
|
Return the maximum value.
Definition at line 117 of file qwt_thermo.cpp. |
|
Return a minimum size hint.
Definition at line 795 of file qwt_thermo.cpp. References QwtScaleDraw::extent(), QwtScaleDraw::minLength(), and scaleDraw(). Referenced by sizeHint(). |
|
Return the minimum value.
Definition at line 129 of file qwt_thermo.cpp. |
|
Qt paint event.
Definition at line 166 of file qwt_thermo.cpp. References draw(). |
|
Return the width of the pipe.
Definition at line 740 of file qwt_thermo.cpp. |
|
Qt resize event handler.
Definition at line 212 of file qwt_thermo.cpp. References layoutThermo(). |
|
Notify a scale change.
Reimplemented from QwtAbstractScale. Definition at line 433 of file qwt_thermo.cpp. References layoutThermo(). |
|
Return the scale position.
Definition at line 420 of file qwt_thermo.cpp. |
|
Specify the liquid brush above the alarm threshold.
Definition at line 687 of file qwt_thermo.cpp. |
|
Specify the liquid color above the alarm threshold.
Definition at line 703 of file qwt_thermo.cpp. |
|
Enable or disable the alarm threshold.
Definition at line 769 of file qwt_thermo.cpp. |
|
Specify the alarm threshold.
Definition at line 716 of file qwt_thermo.cpp. |
|
Set the border width of the pipe.
Definition at line 604 of file qwt_thermo.cpp. References layoutThermo(). |
|
Change the brush of the liquid.
Definition at line 655 of file qwt_thermo.cpp. |
|
Change the color of the liquid.
Definition at line 671 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 760 of file qwt_thermo.cpp. |
|
Set the maximum value.
Definition at line 111 of file qwt_thermo.cpp. References setRange(). |
|
Set the minimum value.
Definition at line 123 of file qwt_thermo.cpp. References setRange(). |
|
Set the thermometer orientation and the scale position. The scale position NoScale disables the scale.
Definition at line 346 of file qwt_thermo.cpp. References layoutThermo(). Referenced by setScalePosition(). |
|
Change the width of the pipe.
Definition at line 730 of file qwt_thermo.cpp. References layoutThermo(). |
|
Set the range.
Definition at line 626 of file qwt_thermo.cpp. References QwtAbstractScale::autoScale(), layoutThermo(), QwtAbstractScale::rescale(), QwtAbstractScale::scaleEngine(), and QwtAbstractScale::setScaleEngine(). Referenced by setMaxValue(), and setMinValue(). |
|
Change the scale position (and thermometer orientation).
Definition at line 409 of file qwt_thermo.cpp. References setOrientation(). |
|
Set the current value.
Definition at line 135 of file qwt_thermo.cpp. |
|
Definition at line 785 of file qwt_thermo.cpp. References minimumSizeHint(). |
|
Return the value.
Definition at line 145 of file qwt_thermo.cpp. |