QwtThermo(3) | Qwt User's Guide | QwtThermo(3) |
NAME¶
QwtThermo -
SYNOPSIS¶
#include <qwt_thermo.h>
Inherits QwtAbstractScale.
Public Types¶
enum ScalePos { NoScale, LeftScale,
RightScale, TopScale, BottomScale }
Public Slots¶
void setValue (double val)
Public Member Functions¶
QwtThermo (QWidget *parent=NULL)
virtual ~QwtThermo ()
const QBrush & alarmBrush () const
const QColor & alarmColor () const
bool alarmEnabled () const
double alarmLevel () const
int borderWidth () const
const QBrush & fillBrush () const
const QColor & fillColor () const
double maxValue () const
virtual QSize minimumSizeHint () const
double minValue () const
int pipeWidth () const
const QwtScaleDraw * scaleDraw () const
ScalePos scalePosition () const
void setAlarmBrush (const QBrush &b)
void setAlarmColor (const QColor &c)
void setAlarmEnabled (bool tf)
void setAlarmLevel (double v)
void setBorderWidth (int w)
void setFillBrush (const QBrush &b)
void setFillColor (const QColor &c)
void setMargin (int m)
void setMaxValue (double v)
void setMinValue (double v)
void setOrientation (Qt::Orientation o, ScalePos s)
void setPipeWidth (int w)
void setRange (double vmin, double vmax, bool lg=false)
void setScaleDraw (QwtScaleDraw *)
void setScalePosition (ScalePos s)
virtual QSize sizeHint () const
double value () const
Protected Member Functions¶
void draw (QPainter *p, const QRect &update_rect)
void drawThermo (QPainter *p)
virtual void fontChange (const QFont &oldFont)
void layoutThermo (bool update=true)
virtual void paintEvent (QPaintEvent *e)
virtual void resizeEvent (QResizeEvent *e)
virtual void scaleChange ()
QwtScaleDraw * scaleDraw ()
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.
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(); }
Constructor & Destructor Documentation¶
QwtThermo::QwtThermo (QWidget *parent = NULL) [explicit]¶
Constructor
Parameters:
Member Function Documentation¶
const QBrush & QwtThermo::alarmBrush () const¶
Return the liquid brush above the alarm threshold.
See also:
double QwtThermo::alarmLevel () const¶
Return the alarm threshold.
See also:
int QwtThermo::borderWidth () const¶
Return the border width of the thermometer pipe.
See also:
void QwtThermo::draw (QPainter *painter, const QRect &rect) [protected]¶
Draw the whole QwtThermo.
Parameters:
rect Update rectangle
void QwtThermo::drawThermo (QPainter *painter) [protected]¶
Redraw the liquid in thermometer pipe.
Parameters:
const QBrush & QwtThermo::fillBrush () const¶
Return the liquid brush.
See also:
const QColor & QwtThermo::fillColor () const¶
Return the liquid color.
See also:
void QwtThermo::layoutThermo (boolupdate_geometry = true) [protected]¶
Recalculate the QwtThermo geometry and layout based on the QwtThermo::rect() and the fonts.
Parameters:
QSize QwtThermo::minimumSizeHint () const [virtual]¶
Return a minimum size hint. Warning:
See also:
void QwtThermo::paintEvent (QPaintEvent *event) [protected], [virtual]¶
Qt paint event. event Paint event
int QwtThermo::pipeWidth () const¶
Return the width of the pipe.
See also:
const QwtScaleDraw * QwtThermo::scaleDraw () const¶
Returns:
See also:
QwtScaleDraw * QwtThermo::scaleDraw () [protected]¶
Returns:
See also:
QwtThermo::ScalePos QwtThermo::scalePosition () const¶
Return the scale position.
See also:
void QwtThermo::setAlarmBrush (const QBrush &brush)¶
Specify the liquid brush above the alarm threshold. Parameters:
See also:
void QwtThermo::setAlarmColor (const QColor &c)¶
Specify the liquid color above the alarm threshold. Parameters:
void QwtThermo::setAlarmEnabled (booltf)¶
Enable or disable the alarm threshold. Parameters:
void QwtThermo::setAlarmLevel (doublelevel)¶
Specify the alarm threshold.
Parameters:
See also:
void QwtThermo::setBorderWidth (intwidth)¶
Set the border width of the pipe.
Parameters:
See also:
void QwtThermo::setFillBrush (const QBrush &brush)¶
Change the brush of the liquid. Parameters:
See also:
void QwtThermo::setFillColor (const QColor &c)¶
Change the color of the liquid. Parameters:
See also:
void QwtThermo::setMargin (intm)¶
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.
Parameters:
Warning:
This function is a NOOP because margins are determined automatically.
void QwtThermo::setMaxValue (doublemax)¶
Set the maximum value.
Parameters:
See also:
void QwtThermo::setMinValue (doublemin)¶
Set the minimum value.
Parameters:
See also:
void QwtThermo::setOrientation (Qt::Orientationo, ScalePoss)¶
Set the thermometer orientation and the scale position. The scale position NoScale disables the scale.
Parameters:
s Position of the scale. The default value is NoScale.
A valid combination of scale position and orientation is enforced:
- a horizontal thermometer can have the scale positions TopScale, BottomScale or NoScale;
- a vertical thermometer can have the scale positions LeftScale, RightScale or NoScale;
- an invalid scale position will default to NoScale.
See also:
void QwtThermo::setPipeWidth (intwidth)¶
Change the width of the pipe.
Parameters:
See also:
void QwtThermo::setRange (doublevmin, doublevmax, boollogarithmic = false)¶
Set the range. Parameters:
vmax value corresponding to the upper or right end of the thermometer
logarithmic logarithmic mapping, true or false
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:
void QwtThermo::setScalePosition (ScalePosscalePos)¶
Change the scale position (and thermometer orientation). Parameters:
A valid combination of scale position and orientation is enforced:
- if the new scale position is LeftScale or RightScale, the scale orientation will become Qt::Vertical;
- if the new scale position is BottomScale or TopScale, the scale orientation will become Qt::Horizontal;
- if the new scale position is NoScale, the scale orientation will not change.
See also:
void QwtThermo::setValue (doublevalue) [slot]¶
Set the current value.
Parameters:
See also:
QSize QwtThermo::sizeHint () const [virtual]¶
Returns:
See also:
Author¶
Generated automatically by Doxygen for Qwt User's Guide from the source code.
Tue Nov 20 2012 | Version 5.2.3 |