1.简介
QwtThermo 是一个基于 Qt 框架的类库,用于创建温度计控件。它提供了一些方便的功能来展示和处理温度计相关的数据。 QwtThermo 添加了特定于温度计的功能。 使用 QwtThermo,可以实现以下功能:
- 设置温度范围:可以通过设置最小和最大温度值来定义温度计的范围。这样,温度计控件就可以根据范围来显示当前温度值。
- 设置指示器颜色:可以为温度计的不同温度范围设置不同的指示器颜色。这样,在控件中显示的温度值将根据范围显示不同的颜色,以便更直观地表示温度程度。
- 自定义刻度线:可以自定义温度计的刻度线和标签,以满足不同的需求。可以调整刻度线的长度、位置和标签的格式。
- 实时更新温度:可以通过设置当前温度值来实时更新温度计控件的显示。温度计将根据给定的值自动更新指示器位置和颜色。
以下是类继承关系图:
2.常用方法
void setOrientation (Qt::Orientation) 设置方向
void setBorderWidth (int) 设置边框宽度
void setColorMap (QwtColorMap *) 为填充颜色指定颜色贴图
void setPipeWidth (int) 设置管道的宽度
void setScaleDraw (QwtScaleDraw *) 设置自定义刻度轴
void setSpacing (int) 设置距离刻度的空隙宽度
void setFillBrush (const QBrush &) 设置液体刷
void setValue (double) 设置当前值
3.示例
#include "ThermoWidget.h"
#include "ui_ThermoWidget.h"
#include "qwt_thermo.h"
#include "qwt_color_map.h"
class Gauge : public QwtThermo
{
public:
Gauge()
{
setScale( 0.0, 100.0 );
setFont( QFont( "Helvetica", 8 ) );
setPipeWidth( 6 );
setScaleMaxMajor( 6 );
setScaleMaxMinor( 5 );
setFillBrush( Qt::darkMagenta );
}
};
ThermoWidget::ThermoWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::ThermoWidget)
{
ui->setupUi(this);
Gauge *g1 = new Gauge();
ui->horizontalLayout->addWidget(g1);
g1->setValue(80);
Gauge *g2 = new Gauge();
ui->horizontalLayout->addWidget(g2);
g2->setValue(80);
g2->setScalePosition( QwtThermo::TrailingScale );
QwtLinearColorMap* colorMap =
new QwtLinearColorMap( Qt::blue, Qt::red );
colorMap->addColorStop( 0.2, Qt::yellow );
colorMap->addColorStop( 0.3, Qt::cyan );
colorMap->addColorStop( 0.4, Qt::green );
colorMap->addColorStop( 0.5, Qt::magenta );
colorMap->setMode( QwtLinearColorMap::FixedColors );
g2->setColorMap( colorMap );
}
ThermoWidget::~ThermoWidget()
{
delete ui;
}
4.相关推荐
Qwt QwtKnob绘制旋钮-CSDN博客
Qwt 使用QwtCompass绘制指南针-CSDN博客
Qwt 使用QwtDial绘制汽车仪表盘-CSDN博客
Qwt QwtWheel绘制滚动轮-CSDN博客