• 大小: 40KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-02
  • 语言: Html/CSS
  • 标签: 好看表盘  

资源简介

/****************** QT自定义表盘 ******************/ 作者: LifeYx 该表盘效果图地址: https://www.cnblogs.com/lifexy/p/9245918.html 介绍: 内部自动设定组件的数字,指针等大小,可以随意变大变小 内部集成定时器,可以通过setTimerType()成员函数实现动画旋转快慢 可以通过setGradientColorMode()成员函数可以自定义划过的渐变颜色 可以通过setSingleColorMode()自定义划过的单一颜色 支持负数到正数更改 支持小数点位数设置 优化刻度值自适应窗口,能显示更正显示个位至千位 支持表盘所有颜色搭配 附带3个demo程序,可视化设定表盘颜色等 demo程序介绍: demo1 :展示3个不同的表盘滑动颜色 demo2 :实现直接可视化设置表盘各个颜色,以及数值,小数点等 demo3 :在demo2的基础上,增加了表盘光影效果,实现立体感

资源截图

代码片段和文件信息

#include “Dial.h“

Dial:: Dial(QWidget *parent  QString labelText QString valueText  QString iconFile ):
    QWidget(parent)
    label(labelText)
    Value_Text(valueText)
    iconfile(iconFile)
    icon(iconFile)
    timer_msec(0)
{

     Scale_decimal=1;                   //设置保留小数点
     center_decimal=1;


     if(!Value_Text.contains(“%1“))
     {
         Value_Text = “%1“;
     }

     radius=0;                          //仪表盘最外圈半径

     minvalue=0;
     maxvalue=120;                     //表盘刻度最大值
     value=20;                         //当前值
     endvalue=0;


     modeColor=ModeSingleColor;

     ScaleColor=QColor(185185185);            //表盘刻度颜色
     PointerColor=QColor(24921);              //指针颜色
     SingleSlideColor =QColor(83213251);      //划过的单颜色
     slideScaleColor = QColor(255255255);     //划过的刻度颜色

     ValueColor=QColor(255255255);            //值颜色(包括标签)
     LabelColor=QColor(192192192);


     obkColor=QColor(252252248);               //外圆背景色

     bkColor=QColor(262626);                   //第二个圆背景色

     centercolor=QColor(383838);                //中心圆盘背景色


     connect(&timerSIGNAL(timeout())thisSLOT(ontimeout()));

}
void Dial::drawObkColor(QPainter& paint)      //绘制外圆
{
        paint.save();

        QConicalGradient  Conical(0090);


        Conical.setColorAt(0obkColor);
        Conical.setColorAt(0.5obkColor);

        Conical.setColorAt(0.12obkColor.darker(40));
        Conical.setColorAt(0.88obkColor.darker(40));

        Conical.setColorAt(0.4obkColor.darker(30));
        Conical.setColorAt(0.6obkColor.darker(30));


        Conical.setColorAt(0.25obkColor.darker(160));

        Conical.setColorAt(0.75obkColor.darker(160));
        Conical.setColorAt(1obkColor);
        paint.setBrush(Conical);
        paint.drawEllipse(QPointF(00) radius*0.96radius*0.98);

        Conical.setAngle(270);

        Conical.setColorAt(0obkColor.darker(40));
        Conical.setColorAt(0.5obkColor.darker(40));

        Conical.setColorAt(0.25obkColor.darker(160));

        Conical.setColorAt(0.75obkColor.darker(160));

        paint.setBrush(Conical);
        paint.drawEllipse(QPointF(00) radius*0.93radius*0.94);

        paint.restore();
}
void Dial::drawScalebkColor(QPainter &paint)        //绘制刻度圆
{
    paint.save();

    paint.setBrush(bkColor);
    paint.drawEllipse(QPointF(00) radius*0.90radius*0.90);

    paint.restore();
}

void Dial::drawbkColor(QPainter &paint)       //绘制内圆
{
    paint.save();


    paint.setBrush(bkColor);
    paint.drawEllipse(QPointF(00) radius*0.77-2radius*0.77-2);

    paint.setBrush(bkColor.darker(200));

    QRadialGradient Radial(00centerR*1.0600);

    Radial.setColorAt(1bkColor);
    Radial.setColorAt(0.98bkColor.darker(110));
    Radial.setColorAt(0.95bkColor.darker(120));
    Radial.setColorAt(0.90bkColor.darker(130));

    pain

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        372  2018-06-29 22:38  biaopan\demo1\biaopan\biaopan.pro

     文件      20129  2018-07-01 22:55  biaopan\demo1\biaopan\Dial.cpp

     文件       5095  2018-06-30 23:27  biaopan\demo1\biaopan\Dial.h

     文件        477  2018-06-29 22:48  biaopan\demo1\biaopan\main.cpp

     文件       1874  2018-06-29 15:32  biaopan\demo1\biaopan\r.png

     文件        131  2018-06-29 15:48  biaopan\demo1\biaopan\res.qrc

     文件       1305  2018-06-29 15:48  biaopan\demo1\biaopan\V.png

     文件       2835  2018-06-29 23:38  biaopan\demo1\biaopan\widget.cpp

     文件        558  2018-06-29 22:35  biaopan\demo1\biaopan\widget.h

     文件        384  2018-07-01 11:24  biaopan\demo2\biaopan\biaopan.pro

     文件      20394  2018-07-01 22:53  biaopan\demo2\biaopan\Dial.cpp

     文件       5232  2018-07-01 22:53  biaopan\demo2\biaopan\Dial.h

     文件       4562  2018-07-01 11:57  biaopan\demo2\biaopan\form.cpp

     文件        965  2018-07-01 11:28  biaopan\demo2\biaopan\form.h

     文件      14908  2018-07-01 01:22  biaopan\demo2\biaopan\form.ui

     文件        441  2018-07-01 11:23  biaopan\demo2\biaopan\main.cpp

     文件       1874  2018-06-29 15:32  biaopan\demo2\biaopan\r.png

     文件        131  2018-06-29 15:48  biaopan\demo2\biaopan\res.qrc

     文件       1305  2018-06-29 15:48  biaopan\demo2\biaopan\V.png

     文件        384  2018-07-01 11:24  biaopan\demo3\biaopan\biaopan.pro

     文件      23614  2018-07-01 23:51  biaopan\demo3\biaopan\Dial.cpp

     文件       5789  2018-07-01 21:45  biaopan\demo3\biaopan\Dial.h

     文件       5171  2018-07-01 22:41  biaopan\demo3\biaopan\form.cpp

     文件        984  2018-07-01 22:09  biaopan\demo3\biaopan\form.h

     文件      14908  2018-07-01 21:45  biaopan\demo3\biaopan\form.ui

     文件        441  2018-07-01 11:23  biaopan\demo3\biaopan\main.cpp

     文件       1874  2018-06-29 15:32  biaopan\demo3\biaopan\r.png

     文件        131  2018-06-29 15:48  biaopan\demo3\biaopan\res.qrc

     文件       1305  2018-06-29 15:48  biaopan\demo3\biaopan\V.png

     文件        716  2018-07-01 23:08  biaopan\readMe.txt

............此处省略10个文件信息

评论

共有 条评论