• 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.示例

    创建两个温度计,另一个设置不同范围的颜色显示。


     

    1. #include "ThermoWidget.h"
    2. #include "ui_ThermoWidget.h"
    3. #include "qwt_thermo.h"
    4. #include "qwt_color_map.h"
    5. class Gauge : public QwtThermo
    6. {
    7. public:
    8. Gauge()
    9. {
    10. setScale( 0.0, 100.0 );
    11. setFont( QFont( "Helvetica", 8 ) );
    12. setPipeWidth( 6 );
    13. setScaleMaxMajor( 6 );
    14. setScaleMaxMinor( 5 );
    15. setFillBrush( Qt::darkMagenta );
    16. }
    17. };
    18. ThermoWidget::ThermoWidget(QWidget *parent) :
    19. QWidget(parent),
    20. ui(new Ui::ThermoWidget)
    21. {
    22. ui->setupUi(this);
    23. Gauge *g1 = new Gauge();
    24. ui->horizontalLayout->addWidget(g1);
    25. g1->setValue(80);
    26. Gauge *g2 = new Gauge();
    27. ui->horizontalLayout->addWidget(g2);
    28. g2->setValue(80);
    29. g2->setScalePosition( QwtThermo::TrailingScale );
    30. QwtLinearColorMap* colorMap =
    31. new QwtLinearColorMap( Qt::blue, Qt::red );
    32. colorMap->addColorStop( 0.2, Qt::yellow );
    33. colorMap->addColorStop( 0.3, Qt::cyan );
    34. colorMap->addColorStop( 0.4, Qt::green );
    35. colorMap->addColorStop( 0.5, Qt::magenta );
    36. colorMap->setMode( QwtLinearColorMap::FixedColors );
    37. g2->setColorMap( colorMap );
    38. }
    39. ThermoWidget::~ThermoWidget()
    40. {
    41. delete ui;
    42. }

    4.相关推荐

    Qwt QwtKnob绘制旋钮-CSDN博客

    Qwt 使用QwtCompass绘制指南针-CSDN博客

    Qwt 使用QwtDial绘制汽车仪表盘-CSDN博客

    Qwt QwtWheel绘制滚动轮-CSDN博客

  • 相关阅读:
    Vue+ElementUI项目打包部署到Ubuntu服务器中
    phantom3D模体
    网页设计与制作项目三“网上花店”
    YouTube广告投放指南:如何投放 YouTube视频广告
    基于Rust的Tile-Based游戏开发杂记(02)ggez绘图实操
    一个简单的DNS服务器
    “永不断网”“多重热备份” | 美格智能5G链路聚合技术正式量产交付
    python-保留小数位数的3种方法
    C# PaddleDetection 安全帽检测
    【Godot4自学手册】第四十四节用着色器(shader)实现溶解效果
  • 原文地址:https://blog.csdn.net/wzz953200463/article/details/134276081