资源简介
/****************** 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个文件信息
评论
共有 条评论