Qwt QwtThermo绘制温度计

news2024/12/23 6:57:01

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1182227.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

golang正则获取中括号中的内容

reg : regexp.MustCompile("【(.*?)】") //userInfo姓名:【AAA姓名】证件类型:【BBB身份证】证件号码:【122456789458】tempData reg.FindAllStringSubmatch(userInfo, -1)for k, v : range tempData {if k 0 {tempReleaseUser.Name v[1]//AAA姓名} else if k 1…

选择企业云盘?品牌推荐和评价解析

企业云盘是如今热门的企业协作工具,为企业提供了文件存储、文件共享服务。市面上的企业云盘千千万,到底哪个企业云盘好用?哪些品牌值得信赖呢? 好用的企业云盘,不能不提,Zoho Workdrive企业云盘为企业提供…

养老院展示服务预约小程序的作用是什么

养老院无论在哪个城市都有很高需求度,不少银发人群会因为种种原因而前往,而养老院近些年来各种服务也比较完善,增加了客户信任度及接受度,但对院方来说,也存在着一些痛点: 1、品牌传播服务呈现难 养老院也…

自己实现一个自动检测网卡状态,并设置ip地址

阅读本文前,请先学习下面几篇文章 《搞懂进程组、会话、控制终端关系,才能明白守护进程干嘛的?》 《简简单单教你如何用C语言列举当前所有网口!》 《Linux下C语言操作网卡的几个代码实例!特别实用》 《安卓如何设置…

使用 Python 从头开始​​编写 Canny 边缘检测算法。

原始图像(左)和检测到的边缘(右)| 图片由作者提供 一、说明 在本文中,我将解释有关 Canny 边缘检测的所有内容,以及在不使用一些预先编写的库的情况下对算法进行编码,以便您能够了解真正发生的情…

CSS 浮动

目标target✓ 能够说出来为什么需要浮动能够说出来浮动的排列特性能够说出来三种最常见的布局方式能够说出来为什么需要清除浮动,能够至少写出两种清楚浮动的方法能够利用Photoshop实现基本的切图能够利用Photoshop插件实现切图能够完成学成在线的页面布 传统网页布局的三种模…

uniapp项目启动时检查版本,版本过旧提示:更新至最新版本,App简单版实现思路详解

效果: 实现的思路比较简单,后期需要优化的话,会持续更新 uniapp文档上有提到关于版本更新 在文档中搜uni.getUpdateManager()(小程序的更新),会提示app的更新需要点击连接,跳转到其他页面查看…

iOS 16.4 之后真机与模拟器无法使用Safari调试H5页面问题

背景 iOS 16.4之后用真机调试H5时候发现,Safari中开发模块下面无法调试页面 解决方案 在WKWebView中设置以下代码解决 if (available(iOS 16.4, *)) {[_webView setInspectable:YES];}然后再次调试就可以了

Tcl语言:SDC约束命令create_generated_clock详解(上)

相关阅读 Tcl语言https://blog.csdn.net/weixin_45791458/category_12488978.html?spm1001.2014.3001.5482 有时候,复杂的设计需要多个时钟来完成相应的操作,当设计中有多个时钟存在时,它们需要相互协作或各司其职。有几种时钟可能由其他时…

Centos7部署Python3环境

一、安装Python3 ###查看是否安装Python3 Centos 7 默认安装了python 2.7.5. 因为一些命令要用它比如yum 它使用的是python2.7.5 使用 python -V 命令查看一下是否安装Python 然后使用命令 which python 查看一下Python可执行文件的位置 Python指向的是Python2.7 安装依赖 y…

漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案

现象 漏刻有时项目开发中的调用了百度地图API,在PC端、IOS和安卓机型测试都没有问题。但是使用华为手机部分型号时,前端在监听点击事件的时候是使用 map.addEventListener(click,function(){...}),无法触发。或 原理 通过监听touchstart和…

CentOS7安装部署StarRocks

文章目录 CentOS7安装部署StarRocks一、前言1.简介2.环境 二、正文1.StarRocks基础1)架构图2)通讯端口 2.部署服务器3.安装基础环境1)安装JDK 112)修改机器名3)安装GCC4)关闭交换分区(swap&…

基于级联广义积分器(CGI)的谐波信号提取MATLAB仿真

微❤关注“电气仔推送”获得资料(专享优惠) 此方法可用于信号检测、虚拟阻抗合成、锁相环等方面。 在现有的信号提取方法中,众多学者采用了SOGI法、LPF法以及正交信号发生器等方法。当输入信号中不存在直流分量,只有谐波分量时&…

C盘清理指南(一) 内存小的本质原因

相信大家看到日益爆满的C盘一定会很头疼,博主也不例外。C盘之于电脑,犹如心脏之于人类一般重要,合理地清理C盘是工作中必不可少的技能。由于全篇篇幅较长,所以这部分会分为好几期哦,大家敬请期待! 当我们发…

V90 EPOS模型下位置控制(完整SCL源代码)

V90EPOS模式下点动控制详细应用介绍和控制源代码,请查看下面文章链接: V90伺服EPOS模式点动控制(详细介绍+完整SCL代码)-CSDN博客文章浏览阅读29次。V90伺服驱动器采用西门子标准报文111加FB284(SINA_POS)详细的报文组态和功能块请参考下面文章链接:博途1200/1500PLC V90 P…

使用 Gorm 进行事务和错误处理

在 GORM 中管理事务和错误的全面指南,以确保可靠的数据库操作 在数据库管理的世界中,确保数据完整性至关重要。GORM,强大的 Go 对象关系映射库,为开发人员提供了维护数据一致性和优雅处理错误的必要工具。本文将作为您全面的指南…

告别传统笔记,8款笔记软件让读书笔记更精彩!

阅读,它打开了一个全新的世界给我们。对于那些热爱阅读的人们来说,没有什么比把手中的一本书翻到最后一页更满足的了。为了更好地理解书籍的内容,或是以后能快速查阅书中的重点内容,很多人习惯于边阅读边做读书笔记。 如果你正在…

【源码】医学影像PACS实现三维影像后处理等功能

医学影像诊断技术近年来取得了快速发展,包括高性能的影像检查设备的临床应用和数字信息技术的图像显示、存储、传输、处理、识别,这些技术使得计算机辅助检测和诊断成为可能,同时人工智能影像诊断也进入了人们的视野。这些技术进步提高了疾病…

王道考研--》顺序表课后习题C语言代码实现(冲刺)

考研是许多计算机科学专业学生追求高学历、寻求更好就业前景的途径。在考研过程中,数据结构是一个非常重要的科目,而代码实现题更是其中的难点之一。在这篇文章中,我们将探讨如何通过实现数据结构代码问题来提升考研成绩。无论您是否有编程经…

C#中LINQtoSQL只能在.NetFramework下使用,不能在.net 的默认安装下使用

目录 一、在net7.0下无法实现LINQtoSQL 1.VS上建立数据库连接 2.VS上创建LINQtoSQL 二、在.NetFramework4.8下成功实现LINQtoSQL 1.VS上建立数据库连接 2.VS上创建LINQtoSQL 三、结论 四、理由 本文是个人观点,因为我百般努力在.net7.0下无法实现LINQtoSQL的…