一、前言

圆弧仪表盘在整个自定义控件大全中也稍微遇到了技术难点,比如背景透明,如果采用以前画圆形画扇形的方式绘制,肯定很难形成背景透明,需要用到切割,最后换了一种绘制方法,采用绘制圆弧的方式,即使用drawArc方法,这个方法有个注意点就是值要16,我也一直没有搞懂为什么要16,帮助文档也是这么写的,那就按照帮助文档来吧,具体也就没有深究下去。
在用qpainter绘制准备工作中,如果先将绘制坐标的中心点移动到区域的中心,painter.translate(width / 2, height / 2); 然后对坐标系进行宽高风向的缩放200倍,painter.scale(side / 200.0, side / 200.0);这样的方式绘制出来,只要指定了半径或者字体指定了大小,以后都是会根据这个标准自动缩放的,这样就做到了自适应任何大小字体自动变化,我也是突然之间发现的这个巧妙的用法。

二、实现的功能

  • 1:可设置范围值,支持负数值
  • 2:可设置精确度,最大支持小数点后3位
  • 3:可设置大刻度数量/小刻度数量
  • 4:可设置开始旋转角度/结束旋转角度
  • 5:可设置是否启用动画效果以及动画效果每次移动的步长
  • 6:可设置外圆背景/内圆背景/饼圆三种颜色/刻度尺颜色/文字颜色
  • 7:自适应窗体拉伸,刻度尺和文字自动缩放
  • 8:可自由拓展各种渐变色,各圆的半径
  • 9:指示器样式可选择 圆形指示器 指针指示器 圆角指针指示器 三角形指示器

三、效果图

Qt编写自定义控件21-圆弧仪表盘相关推荐

  1. Qt编写自定义控件4-旋转仪表盘

    前言 旋转仪表盘,一般用在需要触摸调节设置值的场景中,其实Qt本身就提供了QDial控件具有类似的功能,本控件最大的难点不在于绘制刻度和指针等,而在于自动计算当前用户按下处的坐标转换为当前值,这个功能 ...

  2. Qt编写自定义控件44-天气仪表盘

    一.前言 天气仪表盘控件是所有控件中唯一一个使用了svg矢量图的控件,各种天气图标采用的矢量图,颜色变换采用动态载入svg的内容更改生成的,其实也可以采用图形字体来做,本次控件为了熟悉下svg在Qt中 ...

  3. Qt编写自定义控件3-速度仪表盘

    前言 速度仪表盘,写作之初的本意是用来展示当前测试的网速用的,三色圆环+数码管显示当前速度,Qt自带了数码管控件QLCDNumber,直接集成即可,同时还带有动画功能,其实也可以用在汽车+工业领域等, ...

  4. Qt编写自定义控件1-汽车仪表盘

    一.前言 汽车仪表盘几乎是qt写仪表盘控件中最常见的,一般来说先要求美工做好设计图,然后设计效果图给到程序员,由程序员根据效果来实现,主要靠贴图,这种方法有个好处就是做出来的效果比较逼真,和真实效果图 ...

  5. Qt编写自定义控件12-进度仪表盘

    一.前言 进度仪表盘主要应用场景是标识一个任务进度完成的状况等,可以自由的设置范围值和当前值,为了美观还提供了四种指示器(圆形指示器/指针指示器/圆角指针指示器/三角形指示器),各种颜色都可以设置,其 ...

  6. Qt编写自定义控件49-飞机仪表盘

    一.前言 飞行仪表是测定和表示飞机数据的工具,飞机中必不可少的一部分,飞行员根据飞行仪表表示的数据才能正确地做出判断.一般飞机仪表包括高度表+空速表+垂直速率表+姿态仪+航向指示表+转弯协调表. 这次 ...

  7. qt动画效果_Qt编写自定义控件44-天气仪表盘

    一.前言 天气仪表盘控件是所有控件中唯一一个使用了svg矢量图的控件,各种天气图标采用的矢量图,颜色变换采用动态载入svg的内容更改生成的,其实也可以采用图形字体来做,本次控件为了熟悉下svg在Qt中 ...

  8. qt获取当前系统音量值_Qt编写自定义控件50-迷你仪表盘

    一.前言 这个控件取名叫迷你仪表盘,是以为该控件可以缩小到很小很小的区域显示,非常适合小面积区域展示仪表数据使用,还可以手动触摸调节进度,是我个人觉得最漂亮小巧的一个控件.初次看到类似的控件是在一个音 ...

  9. qlineedit只能输入数字_Qt编写自定义控件51-可输入仪表盘

    一.前言 这个控件是近期定制的控件,还是比较实用的控件之一,用户主要是提了三点需求,一点是切换焦点的时候控件放大突出显示,一点是可直接输入或者编辑值,还有一点是支持上下键及翻页键和鼠标滚轮来动态修改值 ...

最新文章

  1. 首次成功实施 XSS 攻击,盗取目标网站大量 VIP 帐号
  2. 经典算法详解(8)数的分组
  3. 获取go语言官方文档的两个方法
  4. 使用sed,awk将love转换成LOVE,将CHINA转换成china
  5. WEB中会话跟踪[转]
  6. apache 一个站点配置多个域名
  7. css 跳动的心_如何用纯CSS为您的情人打造一颗跳动的心
  8. 量子计算机如何确定量子状态,量子计算机六个量子位足以确定三个简单分子的基态...
  9. golang导入包的理解
  10. 低价营销网站建设是陷阱,中小企业要谨记!
  11. Weex中页面导航的实现
  12. java 一元线性回归_Java实现一元线性回归
  13. 汽车电子行业常见缩略词(前视摄像头相关)
  14. 当输入条件不符合规范c语言,【图片】【高二会考】选择判断答案大全【郑州12中吧】_百度贴吧...
  15. 了解速率控制模式Rate Control Mode-CBR,VBR,CRF(x264、x265、vpx)
  16. 从价值出发,技术管理痛点的正解
  17. 哈哈,用FlexGrid做开发,轻松处理百万级表格数据
  18. java计算机毕业设计校园点餐系统源码+系统+mysql数据库+lw文档
  19. UFS和EMMC的区别--原理学习
  20. Python数据爬虫学习笔记(11)爬取千图网图片数据

热门文章

  1. postgresql年龄xid维护防止数据库只读
  2. 关于MVT矢量瓦片,你不知道的事
  3. 发挥“中国智造1%”的威力 阿里云打造ET工业大脑
  4. php 数组字符串替换字符串,利用PHP怎么替换数组的字符串
  5. 怎样用计算机写作业英语作文,小学英语作文万能句型+必背范文,孩子写作业一定用的到!...
  6. 磁力计和加速度计初始姿态解算
  7. RM-139C万能遥控器电视机设置
  8. 如何下载矢量建筑楼块轮廊数据(含建筑高度)
  9. 迈克尔·杰克逊 you are not alone
  10. 学PHP最快要多久? 学习路线?要不要报培训班?