当前位置: 首页 > news >正文

Qwt QwtThermo绘制温度计

1.简介

QwtThermo 是一个基于 Qt 框架的类库,用于创建温度计控件。它提供了一些方便的功能来展示和处理温度计相关的数据。  QwtThermo 添加了特定于温度计的功能。 使用 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博客

http://www.lryc.cn/news/221911.html

相关文章:

  • U_boot介绍
  • Flink -- window(窗口)
  • 原语:串并转换器
  • 没网络也能安装.Net 3.5!如何脱机安装.NET Framework 3.5
  • JVM运行时数据区-虚拟机栈
  • Java中介者模式
  • 前端框架Vue学习 ——(五)前端工程化Vue-cli脚手架
  • App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
  • Spring -Spring之依赖注入源码解析
  • Spire.Office for .NET 8.10.2 同步更新-Crk
  • MFC 基础篇(一)
  • Android技术-修改SO导出符号
  • flutter 打包apk
  • Halcon如何使用SaperaLT库连接dalsa相机
  • Vue 嵌套路由 多级路由规则
  • pandas教程:Introduction to pandas Data Structures pandas的数据结构
  • MinIO 分布式文件(对象)存储
  • HTML表单标签
  • 【黑马程序员】SpringCloud——Eureka
  • 目标跟踪(DeepSORT)
  • 2 任务2: 使用趋动云GPU进行猫狗识别实践
  • 技术分享 | app自动化测试(Android)--显式等待机制
  • 机器学习基础之《回归与聚类算法(5)—分类的评估方法》
  • 如何在macbook上删除文件?Mac删除文件的多种方法
  • Java代码Demo——Map根据key或value排序
  • 一个Linux自动备份脚本的示例
  • [论文阅读]PV-RCNN++
  • 测试老鸟整理,Postman加密接口测试-Rsa/Aes对参数加密(详细总结)
  • JavaScript使用对象
  • 微带线的ABCD矩阵的推导、转换与级联-Matlab计算实例