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博客