首页| 论坛| 消息

标题:Qt编写自定义控件1-汽车仪表盘
作者:liudianwu
日期:2019-04-19 21:00
内容:

前言
汽车仪表盘几乎是qt写仪表盘控件中最常见的,一般来说先要求美工做好设计图,然后设计效果图给到程序员,由程序员根据效果来实现,主要靠贴图,这种方法有个好处就是做出来的效果比较逼真,和真实效果图基本上保持一致,而且程序员也不会那么累,基本上入门级别的程序员都可以搞定,效率比较高,缺点是如果用户需要更改某个部件的颜色,比如指针的颜色等,需要重新做效果图贴图才能实现,比较麻烦,还有一点就是如果效果图原图不是很大,则遇到特殊分辨率情况下,可能会有失真的情况,被强制拉伸等。
我一贯都喜欢用painter来绘制,以规避后面几点的缺点,也可以锻炼自己的审美能力,所谓心中有坐标,万物皆painter。
实现的功能
* 1:可设置范围值,支持负数值
* 2:可设置精确度,最大支持小数点后3位
* 3:可设置大刻度数量/小刻度数量
* 4:可设置开始旋转角度/结束旋转角度
* 5:可设置是否启用动画效果以及动画效果每次移动的步长
* 6:可设置外圆背景/内圆背景/饼圆三种颜色/刻度尺颜色/文字颜色
* 7:自适应窗体拉伸,刻度尺和文字自动缩放
* 8:可自由拓展各种渐变色,各圆的半径
* 9:三色圆环按照比例设置范围角度 用户可以自由设置三色占用比例
* 10:圆环样式可选择 三色圆环 当前圆环
* 11:指示器样式可选择 圆形指示器 指针指示器 圆角指针指示器 三角形指示器
效果图
头文件代码
#ifndef GAUGECAR_H
#define GAUGECAR_H
/**
* 汽车仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2016-11-20
* 1:可设置范围值,支持负数值
* 2:可设置精确度,最大支持小数点后3位
* 3:可设置大刻度数量/小刻度数量
* 4:可设置开始旋转角度/结束旋转角度
* 5:可设置是否启用动画效果以及动画效果每次移动的步长
* 6:可设置外圆背景/内圆背景/饼圆三种颜色/刻度尺颜色/文字颜色
* 7:自适应窗体拉伸,刻度尺和文字自动缩放
* 8:可自由拓展各种渐变色,各圆的半径
* 9:三色圆环按照比例设置范围角度 用户可以自由设置三色占用比例
* 10:圆环样式可选择 三色圆环 当前圆环
* 11:指示器样式可选择 圆形指示器 指针指示器 圆角指针指示器 三角形指示器
*/
#include
#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include
#else
#include


#1 [lsyzsl 04-19 21:52]

#2 [crazy 04-20 11:16]

#3 [xdh873939316 04-20 13:05]

#4 [305750665 04-20 18:26]

回复 发表
主题 版块