做过安防视频监控的同学都清楚,在视频监控系统软件上都可以看到一个云台控制区域,可以对球机进行下下左右等八个方位的运动控制,还可以进行复位,一般都是美工作图好,然后贴图的形式加入到软件中,好处是程序简单,界面美工,主要取决于美工的美图能力,缺点是对于各种分辨率的适应性稍微差点,需要不同的图片切图贴图,除非默认做好的是大图自适应看不出差别,可能大部分人所在的公司都是小公司,一般美工人员比较少甚至没有,都需要程序员一人负责,甚至一开始就要考虑到各种分辨率的应用场景以及后期可能的换肤换色等。
之前做过很多自定义控件,大部分都采用了qpainter的形式绘制,有个好处就是自适应任意分辨率,所以思考着这个云台控制仪表盘也采用纯painter绘制的形式,据说纯painter绘制还可以轻松移植到qml中,这又坚定了我用qpainter绘制的决心。所谓心中有坐标系,万物皆painter。
观察云台仪表盘下来,基本上就这几部分组成,圆形底盘,八个角,中间部分按钮,整个的控件的难点就在于八个角的定位,中间部分很好定位,而且八个角不是绝对的位置,都是相对于界面的宽高按照等比例自适应排列的。八个角的鼠标按下要做出对应的反应,发送出对应型号,网上大部分人都是切图或者放置label或者按钮来贴图实现,绑定事件过滤器过滤鼠标按下然后再发出信号。我这里为了提升逼格,直接采用位置坐标计算法。

设计师designer完整源码(仅限Qt4):https://pan.baidu.com/s/1t9uKOgi7PW34Kdj7rgTl

Qt编写云台仪表盘控件相关推荐

  1. Qt C++ 自定义仪表盘控件02

    简介 仪表盘是工控领域不可缺少的一类软件UI元素,通常出现在各类电子看板软件上,以及一些高级的上位机软件界面上,目的是将繁杂的数据转化为可视化的图表能大幅提高后台管理效率. 本文分享了几个经典常用的仪 ...

  2. Qt C++ 自定义仪表盘控件03

    简介 仪表盘是工控领域不可缺少的一类软件UI元素,通常出现在各类电子看板软件上,以及一些高级的上位机软件界面上,目的是将繁杂的数据转化为可视化的图表能大幅提高后台管理效率. 本文分享了几个经典常用的仪 ...

  3. Qt汽车自定义仪表盘控件

    先看效果,后上源码: 下面是自定义的一个控件类: #ifndef DIALWIDGET_H #define DIALWIDGET_H#include <QWidget>class Dial ...

  4. Qt 自定义仪表盘控件

    简介 仪表盘是工控领域不可缺少的一类软件UI元素,通常出现在各类电子看板软件上,以及一些高级的上位机软件界面上,目的是将繁杂的数据转化为可视化的图表能大幅提高后台管理效率. 本文分享了几个经典常用的仪 ...

  5. WPF自定义仪表盘控件

    WPF自定义仪表盘控件 一.前言 二.功能实现 一.前言 在学习和工作中使用WPF时,都离不开自定义控件的使用,今天分享一个自己在学习过程中使用到的一个自定义仪表盘控件,感觉挺不错的,在这里分享给大家 ...

  6. SharpShooter Gauges SDK 仪表盘控件

    用于设计高性能数字仪表盘的高级.Net仪表 建立SCADA系统,关键性能指标(KPI),SharpShooter Gauges SDK 仪表盘控件 企鹅开门578867473,数字仪表板和其他数据可视 ...

  7. chart控件做实时曲线显示_基于GDI+技术开发工业仪表盘控件

    写在前面 上次给大家看了一个上位机界面之后,很多人表示对那个仪表盘的开发感兴趣,今天就跟大家分享一下整个的开发过程,由于整个仪表盘开发的过程还是有些复杂的,无法将所有的代码都一一展示,所以重点跟大家分 ...

  8. 编写的activeX 控件如何被IE调用?

    网友大富翁刘卫民的指导意见: 1.编写的activeX 控件如何被IE调用? ActiveX被IE调用,给段代码你参考. <OBJECT ID="VportSDKCtrl" ...

  9. 制作一个GUI仪表盘,安排!LVGL『Gauge仪表盘控件』介绍

    一. LVGL GUI仪表盘控件的概念 仪表盘是一种带有刻度标签和一根或多根针的仪表.比如车速/车转速等 二. LVGL GUI仪表盘小部件和样式 量规的主要部分称为 LV_GAUGE_PART_MA ...

最新文章

  1. 解密ATS 4.2.3的缓存状态密码
  2. 节后招人平均工资9000上热搜,为什么有些人去哪里都值钱?
  3. 由浅入深laravel教程 :中间件
  4. vue中Axios的封装与API接口的管理详解
  5. 又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式
  6. 【一秒打开】如何提高IDEA、vscode的开启速度
  7. 列表-列表统计及删除方法扩展
  8. poj1330Nearest Common Ancestors(LCA小结)
  9. 已知ABAP tcode,需要查找assign了该tcode的PFCG role
  10. Java中的值类型:为什么它们不可变?
  11. php文件缓存代码,php文件缓存实例代码
  12. 压栈, 跳转,执行,返回:从汇编看函数调用
  13. 《大数据》2015年第4期“金融、安全与情报大数据”专刊征文通知
  14. pat题解java,1039 到底买不买 (20分) Java题解 PAT (Basic Level) Practice (中文)- 巧妙开大数组减少代码量...
  15. Latex:利用BibTeX批量导入参考文献
  16. Amplify Shader Editor手册 Unity ASE(中文版)
  17. Python爬虫项目:爬虫爬取正则分析糗百数据
  18. php 对账单系统,PHP实现微信对账单处理
  19. 学习JS的这些日子——十二月总结
  20. vue 中的el表达式_解释el页面数据表达式

热门文章

  1. 卡拉兹猜想java,pat乙级1001解题报告
  2. Baidu某系统后台存在sql注入漏洞
  3. css绘制梯形 、直角三角形
  4. [Vim 编译出错]syntax error: unexpected end of file
  5. 软件人员kpi制定模板_免费绩效考核软件(公司KPI怎么做)
  6. i7 7700hq安装Linux,翻出了自己吃灰的IfunkS i7-7700HQ笔记本 装了个ubuntu跑个分
  7. 优思学院|3M的传奇故事和六西格玛管理
  8. 关于OpenCV的坑
  9. 锐龙r76800h和r75800h差距 r7 6800h和r7 5800h差多少
  10. 双线机房双IP linux设置路由