Qwt笔记(四)之QwtDial的简单使用

104 篇文章 126 订阅

一.前言
文章只是楼主学习过程的记录,不能面面俱到,也不能每个点都讲到,不喜勿喷

二.QwtDial是啥???
文档原文:
QwtDial class provides a rounded range control
大概的意思就是:QwtDial 提供了一些接口可以用来控制圆形盘的属性(个人理解,翻译太抽象了)

QwtDial is intended as base class for dial widgets like speedometers, compass widgets, clocks
QwtDial 是速度计,指南针,以及时钟这些刻度盘的基类

三.使用举例
1.拖动一个QwtDial 控件
在这里插入图片描述
在这里插入图片描述
2.常规属性设置核心代码

void Widget3::initDial()
{
    // 设置外层圆环的阴影样式
    ui->Dial->setFrameShadow(QwtDial::Shadow::Raised);

    // 设置外层圆环的阴影的宽度
    //qDebug()<<ui->Dial->lineWidth();
    ui->Dial->setLineWidth(6);

    //
    //qDebug()<<ui->Dial->mode();
    ui->Dial->setMode(QwtDial::Mode::RotateNeedle);

    // 设置数值范围
    ui->Dial->setScale(0,60);

    // 设置步长
    ui->Dial->setScaleStepSize(5);

    // 设置角度范围(默认是360度)
    ui->Dial->setScaleArc(0,360);

    // 设置大刻度的最大值
    ui->Dial->setScaleMaxMajor(10);

    // 设置小刻度的最大值
    ui->Dial->setScaleMaxMinor(5);

    // 添加表盘指针
    QwtDialSimpleNeedle *dialNeedle = new QwtDialSimpleNeedle(QwtDialSimpleNeedle::Style::Arrow,true,Qt::green,Qt::blue);
    dialNeedle->setWidth(10);
    ui->Dial->setNeedle(dialNeedle);

    // 设置指针指向的数字
    ui->Dial->setValue(26);
}

在这里插入图片描述
3.利用QTimer实现指针的转动
核心代码

    timer = new QTimer();
    connect(timer,SIGNAL(timeout()),this,SLOT(onTimeout()));
    timer->start(1000);
void Widget3::onTimeout()
{
    if(dialVlaue<60)
        dialVlaue+=1.0;
    else
        dialVlaue=0.0;
    ui->Dial->setValue(dialVlaue);
    qDebug()<<QStringLiteral("当前表盘数值:")<<ui->Dial->value();
}

在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值