Qt编写自定义控件大全

最新版可执行文件 http://pan.baidu.com/s/1i491FQP

不定期增加控件及修正BUG和改进算法。

总图:

1:动画按钮

* 1:可设置显示的图像和底部的文字

* 2:可设置普通状态图片

* 3:可设置进入状态图片

* 4:可设置离开状态图片

* 5:按照比例自动居中绘制

2:柱状标尺控件

* 1:可设置精确度(小数点后几位)和间距

* 2:可设置背景色/柱状颜色/线条颜色

* 3:可设置长线条步长及短线条步长

* 4:可启用动画及设置动画步长

* 5:可设置范围值

* 6:支持负数刻度值

3:柱状双向刻度尺控件

* 1:可设置目标值范围值

* 2:可设置两种样式 单向标尺/双向标尺

* 2:可设置刻度尺颜色/文字颜色/告警颜色

* 3:可设置长线条步长及短线条步长

* 4:同时支持左右不同刻度尺

* 5:支持负数刻度值

4:柱状温度计控件

* 1:可设置精确度(小数点后几位)和间距

* 2:可设置背景色/柱状颜色/线条颜色

* 3:可设置长线条步长及短线条步长

* 4:可启用动画及动画步长

* 5:可设置范围值

* 6:支持负数刻度值

* 7:支持任意窗体大小缩放

5:柱状音量控件

* 1:可设置范围值/当前值/步长/圆角角度

* 2:可设置背景渐变颜色

* 3:可设置柱状三种渐变颜色

6:电池电量控件

* 1:可设置电池电量,动态切换电池电量变化

* 2:可设置电池电量警戒值

* 3:可设置电池电量正常颜色和报警颜色

* 4:可设置边框渐变颜色

* 5:可设置电量变化时每次移动的步长

7:通用底部信息栏

* 1:可设置软件标题/版本/作者/当前用户/当前用户类型

* 2:可实时显示已运行时间和当前时间

8:CPU内存显示控件

* 1:实时显示当前CPU及内存使用情况,包括共多少内存已使用多少内存

* 2:全平台通用,包括windows,linux,ARM

9:简单曲线图表控件

* 1:可设置间隔

* 2:可设置标题

* 3:可设置是否显示横线及坐标点

* 4:可设置背景色文字颜色

* 5:可设置范围值及x轴y轴步长

* 6:缺点-不支持最小值小于0的数据

10:当前时间LCD控件

* 1:可设置时间字符串格式

* 2:可设置中间点分隔符是否闪烁

* 3:可实时显示当前时间

11:本地存储空间大小控件

* 1:可自动加载本地存储设备的总容量/已用容量

* 2:进度条显示已用容量

* 3:支持所有操作系统

* 4:增加U盘或者SD卡到达信号

12:汽车仪表盘控件

* 1:可设置范围值,支持负数值

* 2:可设置精确度,最大支持小数点后3位

* 3:可设置大刻度数量/小刻度数量

* 4:可设置开始旋转角度/结束旋转角度

* 5:可设置是否启用动画效果以及动画效果每次移动的步长

* 6:可设置外圆背景/内圆背景/饼圆三种颜色/刻度尺颜色/文字颜色

* 7:自适应窗体拉伸,刻度尺和文字自动缩放

* 8:可自由拓展各种渐变色,各圆的半径

* 9:三色圆环按照比例设置范围角度 用户可以自由设置三色占用比例

* 10:圆环样式可选择 三色圆环 当前圆环

* 11:指示器样式可选择 圆形指示器 指针指示器 三角形指示器

13:时钟仪表盘控件

* 1:可设置边框颜色

* 2:可设置前景色背景色

* 3:可设置时钟分钟秒钟指针颜色

* 4:可设置刷新间隔

* 5:鼠标右键可设置四种效果 普通效果/弹簧效果/连续效果/隐藏效果

* 6:增加设置系统时间公共槽函数,支持任意操作系统

14:三色仪表盘控件

* 1:可设置背景色/第一第二第三颜色

* 2:可设置文字和刻度颜色

* 3:可设置中间圆点颜色

* 4:修正当范围值中最小值为负数时的bug

* 5:修正刻度值在三分之一阶段时切换不准确的bug

* 6:增加一些完整性校验

15:指南针仪表盘控件

* 1:可设置当前度数

* 2:可设置精确度

* 3:可设置是否启用动画及步长

* 4:可设置边框渐变颜色

* 5:可设置背景渐变颜色

* 6:可设置加深和明亮颜色

* 7:可设置指南指北指针颜色

* 8:可设置中心点渐变颜色

16:旋转仪表盘控件

* 1:支持指示器样式选择 圆形指示器/指针指示器/三角形指示器

* 2:支持鼠标按下旋转改变值

* 3:支持负数刻度值

* 4:支持设置当前值及范围值

* 5:支持左右旋转角度设置

* 6:支持设置大刻度数量和小刻度数量

* 7:支持设置各种颜色

* 8:字号随窗体拉伸自动变化

17:圆环仪表盘控件

* 1:可设置已使用/未使用百分比颜色

* 2:可设置目标值背景色

* 3:可设置外边框背景色

* 4:可设置中央圆环背景色

* 5:可设置旋转角度

* 6:支持任意大小自动缩放

18:速度仪表盘控件

* 1:可设置各种颜色

* 2:可启用动画效果显示

* 3:可设置起始旋转角度及结束旋转角度

* 4:可设置单位和标题

* 5:可设置大刻度数量和小刻度数量

* 6:增加一些完整性校验及改进部分算法

19:图片背景日历控件

* 1:可设置六种图片背景风格 黄色风格/蓝色风格/褐色风格/灰色风格/紫色风格/红色风格

* 2:显示当前日期及农历

20:图片时钟控件

* 1:支持鼠标右键切换风格

* 2:支持设置四种背景风格样式

* 3:支持四种秒针走动风格样式

* 4:增加设置时间接口

21:图片浏览器控件

* 1:增加鼠标右键清空

* 2:增加设置背景色

* 3:增加设置间距和翻页图标大小

* 4:增加设置是否拉伸填充显示

* 5:增加设置是否渐变显示图像

* 6:增加设置键盘翻页

* 7:增加移动到第一张/末一张/上一张/下一张

* 8:修正内存泄露BUG及其他BUG

22:图片浏览墙控件

* 1:支持自动滚动条

* 2:支持自动显示文件名

23:LCD数字控件

* 1:可设置目标值和间隔

* 2:可设置背景颜色和数字颜色

24:LED数字控件

* 1:可设置当前数字

* 2:可设置各种颜色

25:字模提取控件

* 1:可设置字模文字

* 2:可设置字体名称及字号

* 3:可设置步长间隔

* 4:可设置前景色

26:高亮发光按钮控件

* 1:可设置文本,居中显示

* 2:可设置文本颜色

* 3:可设置外边框渐变颜色

* 4:可设置里边框渐变颜色

* 5:可设置背景色

* 6:可直接调用内置的设置 绿色/红色/黄色/黑色/蓝色 等公有槽函数

* 7:可设置是否在容器中可移动,当成一个对象使用

27:线状标尺控件

* 1:可设置精确度(小数点后几位)和间距

* 2:可设置背景色/线条颜色

* 3:可设置长线条步长及短线条步长

* 4:可启用动画及设置动画步长

* 5:可设置范围值

* 6:可设置指示器颜色及宽度

* 7:支持负数刻度值

28:导航标签控件

* 1:可设置前景色和背景色

* 2:可设置箭头方向 左右上下

29:树状导航栏控件

* 1:合并成一个文件

* 2:隐藏多余接口,只保留readData函数接口

* 3:修正重复加载数据BUG及关闭时有时候崩溃的BUG

* 4:修正当范围值中最小值为负数时的bug

* 5:增加默认支持鼠标悬停

* 6:增加一些完整性校验

* 7:增加设置各种颜色

* 8:+-伸缩图形改成绘制,同时支持+-图形及三角形图形

* 9:增加setData数据接口,使之同时支持字符串链表作为数据源

* 10:增加设置分割线条是否可见

* 11:增加设置伸缩图片采用何种颜色

* 12:改进分割线条高度

* 13:将显示未读条数部分改成提示信息,可以是字符串

30:导航进度条控件

* 1:可设置前景色/背景色/当前值前景色/当前值背景色

* 2:可设置最大步数及当前第几步

* 3:可设置导航标签队列文字信息

* 4:可设置三种风格样式 京东订单流程样式/淘宝订单流程样式/支付宝订单流程样式

* 5:文字自适应大小

31:面板容器控件

* 1:支持所有widget子类对象,自动产生滚动条

* 2:支持自动拉伸自动填充

* 3:提供接口获取容器内的所有对象的指针

32:多态进度条控件

* 1:支持多种样式风格 圆弧状风格 旋转圆风格 三角圆弧 线条风格 圆环风格

* 2:可设置范围值和当前值

* 3:可设置前景色背景色

* 4:可设置顺时针逆时针旋转

* 5:支持任意大小缩放

* 6:支持设置旋转速度间隔

33:多彩进度条控件

* 1:可设置精确度/步长/圆角角度

* 2:可设置范围值和当前值

* 3:可设置前景色背景色等各种颜色

34:圆形进度条控件

* 1:支持三种风格样式 圆环风格/饼状风格/线条风格

* 2:自动居中绘制显示

* 3:可设置顺时针逆时针走向

* 4:可设置起始进度位置

* 5:可设置范围值

* 6:可设置各种颜色

* 7:可设置当前值

* QPalette::Window         设置整个部件的背景

* QPalette::Base           未填充进度区域的背景

* QPalette::AlternateBase    文本显示所在的中间圆环的背景

* QPalette::Shadow         未填充区域的前景色-边框色

* QPalette::Highlight      填充进度条区域的背景色

* QPalette::Text           在中心显示的文本色

35:旋转圆控件

* 1:可设置步长

* 2:可设置各种颜色

* 3:可设置顺时针逆时针旋转

36:全局截屏控件

* 1:支持鼠标右键选择菜单

* 2:支持全局截屏和局部截屏

* 3:支持图片另存为

37:滑动导航条控件

* 1:可键盘按键上下移动元素功能

* 2:支持窗体大小改变控件自动拉伸

* 3:支持移动到第一个/末一个/上移/下移/移动到指定索引/移动到指定元素

* 4:支持扁平处理

* 5:支持纵向风格

* 6:可设置圆角接口

* 7:可设置间距接口

* 8:可设置导航条主背景渐变色

* 9:可设置当前条目选中背景渐变色

38:滑动标尺控件

* 1:可设置精确度(小数点后几位)和间距

* 2:可设置背景色/滑块颜色/提示信息背景前景色

* 3:支持鼠标滚轮

* 4:可设置长线条步长及短线条步长

* 5:移除定时器实现显示和隐藏提示值

* 6:可设置范围值

* 7:支持负数刻度值

39:开关按钮控件

* 1:可设置开关按钮的样式 圆角矩形/内圆形/外圆形/图片

* 2:可设置选中和未选中时的背景颜色

* 3:可设置选中和未选中时的滑块颜色

* 4:可设置显示的文本

* 5:可设置滑块离背景的间隔

* 6:可设置圆角角度

40:跑马灯控件

* 1:支持三种风格样式 左右来回滚动/从左滚动到右/从右滚动到左

* 2:支持鼠标悬停停止滚动

* 3:可设置前景色背景色

* 4:可设置滚动的文本

* 5:可设置定时器间隔

41:滑动选择器控件

* 1:可设置数据队列值

* 2:可设置当前队列索引及当前值

* 2:支持任意窗体大小缩放

* 3:支持背景色前景色文字颜色线条颜色设置

* 4:支持左右滑动和上下滑动两种形式

* 5:支持鼠标滚动切换元素

* 6:中间值自动放大显示且居中

42:直方动态图控件

* 1:可设置范围值/当前值/步长/圆角角度

* 2:可设置顶部滑块高度

* 3:可设置背景颜色和柱状条颜色

43:直方对称图控件

* 1:可设置范围值/当前值/步长/圆角角度

* 2:可设置顶部滑块高度

* 3:可设置背景颜色和柱状条颜色

44:波形动态图控件

* 1:可设置范围值/当前值/步长/圆角角度

* 2:可设置顶部滑块高度

* 3:可设置背景颜色和线条颜色

所有控件集成在Qframework中。

QFramework是一套通用的Qt程序开发框架,集成通用主界面布局、换肤方案、各种自定义控件(超过50个)、数据库处理、excel极速导出、数据打印、串口通信、网络通信、协议解析、全局热键、邮件发送,短信发送,百度地图调用、ffmpeg+vlc处理等功能,将常用的功能封装成类库,提供统一直观的调用接口,方便使用者使用,对应封装的库都有对应的demo程序。

基本功能:

1:支持从4.7.0到5.7.0的任何Qt版本,不受版本限制。用了此框架,不会再有Qt版本不同而引起的程序编译通不过的烦恼。

2:极速导出数据到excel,支持表格数据或者查询的数据,不依赖任何组件,支持任何excel、wps等表格软件版本,导出10万行数据8个字段只需要3秒完成。对导出的表格样式可自定义主标题和副标题,可对导出的数据按照指定条件红色突出显示。

3:数据导出到pdf及打印功能,支持表格数据或者查询的数据,支持横向纵向打印,自动分页。

4:数据分页dbapi类,只需传入表格对象,表名,翻页按钮即可。无需再写重复的方法处理翻页。

5:各种自定义控件,例如开关按钮、发光按钮,仪表盘控件、音量控件、温湿度控件、仪表仪器类控件、滑动选择器等。

6:全新超级中英双拼输入法,非常适合触摸设备。

7:全局热键处理。

8:串口热敏打印机打印。

9:qcustomplot 2D图形曲线绘制(含鼠标数据跟踪)。

10:多线程邮件发送,支持多个接收邮箱。

11:多线程短信发送,支持多个接收号码及长短信。

12:Qffmpeg+Qvlc视频处理。

13:取字模,字符转LED数据处理。

14:全局日志输出类 applog,可动态挂载和卸载。

15:全局程序控制类 appkey,可控制程序的使用时间、运行时间、设备数量限制等。

16:封装百度地图调用接口,支持设备标注、路线查询、位置显示等。

17:自动清理程序早期数据类 cleanapi,传入要清理的数据库表名,执行间隔,保留的最大记录数即可。这样保证了整个系统存储的都是最新的数据。

18:NTP校时服务程序。

19:全局截图处理,可以很方便的直接在ARM上对程序进行截图。

20:程序存活检测功能 applive,通过udp通信实时发送心跳命令,这样可以保证程序7*24小时运行,在ARM上可采用 appdog看门狗程序。

21:已运行时间+当前时间+实时CPU使用率+实时内存使用率等。

22:自定义程序主界面底部信息。

23:Echart图表的交互使用。

时间: 2024-10-21 09:52:02

Qt编写自定义控件大全的相关文章

Qt编写自定义控件21-圆弧仪表盘

一.前言 圆弧仪表盘在整个自定义控件大全中也稍微遇到了技术难点,比如背景透明,如果采用以前画圆形画扇形的方式绘制,肯定很难形成背景透明,需要用到切割,最后换了一种绘制方法,采用绘制圆弧的方式,即使用drawArc方法,这个方法有个注意点就是值要16,我也一直没有搞懂为什么要16,帮助文档也是这么写的,那就按照帮助文档来吧,具体也就没有深究下去. 在用qpainter绘制准备工作中,如果先将绘制坐标的中心点移动到区域的中心,painter.translate(width / 2, height /

Qt编写自定义控件57-直方波形图

一.前言 直方波形图控件非原创控件,控件大全中大概有20-30个控件非自己原创,而是参考了网上开源的代码,自己加以整理和完善,新增了插件的代码使得可以直接集成到QtDesigner或者QtCreator中.直方波形图,主要就是将外部传入的坐标集合数据进行渐变过渡的绘制,产生一个动态的过渡效果,将设置的坐标集合重新运算+1变成新的坐标集合来绘制,这样看起来绘制不会很死,而是缓慢的过渡. 二.实现的功能 1:可设置最大值 2:可设置每次过渡的步长 3:可设置item之间的间隔 4:可设置渐变的背景颜

Qt编写自定义控件插件开放动态库dll使用(永久免费)

这套控件陆陆续续完善了四年多,目前共133个控件,除了十几个控件参考网友开源的代码写的,其余全部原创,在发布之初就有打算将动态库开放出来永久免费使用,在控件比较完善的今天抽了半天时间编译了多个qt版本的动态库,和头文件一起打包放在百度网盘. 控件介绍 超过130个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的控件数量. 每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件

Qt编写自定义控件5-柱状温度计

前言 柱状温度计控件,可能是很多人练手控件之一,基本上都是垂直方向展示,底部一个水银柱,中间刻度尺,刻度尺可以在左侧右侧或者两侧都有,自适应分辨率改动,有时候为了美观效果,可能还会整个定时器来实现动画效果,开启动画效果的缺点就是CPU占用会比较高,前阵子有个好友(贾文涛-涛哥)向我推荐了一个opengl绘制的开源东西,QNanoPainter,东西是个好东西,我个人的理解是直接封装了opengl绘制的qpainter,可以使得绘制全部走GPU,这样就可以大大减轻CPU的负担,非常方便,我自己试了

Qt编写自定义控件13-多态进度条

前言 多态进度条,顾名思义,有多重状态,其实本控件主要是用来表示百分比进度的,由于之前已经存在了百分比进度条控件,名字被霸占了,按照先来先得原则,只好另外取个别名叫做多态进度条,应用场景是,某种任务有三种状态,比如正常状态.警戒状态.报警状态,这三种状态都分别有一个占比,需要用不同的颜色表示,这样就衍生出了此控件,类似于堆积图.接下来节假日四天,可以全身心投入研发还未完工的大屏UI程序,基础控件部分+二级界面部分都已经做好,现在专心整合到主界面和打通数据流(采用数据库采集+网络采集两种方式).多

Qt编写自定义控件14-环形进度条

前言 环形进度条,用来展示当前进度,为了满足大屏UI的需要特意定制,以前有个叫圆环进度条,不能满足项目需要,只能重新定做,以前的进度间距不能自适应分辨率,而且当前进度对应的反的进度不能单独设置颜色,即当前进度90%,剩余的10%也需要设置成不同的颜色,还有一个重要的功能是,能够指定多个警戒值,一旦超过或者小于该值,则当前进度自动切换到预先设定的警戒值颜色,而不需要用户自己去判断警戒值去设置警戒颜色,用户只需要传入当前值即可,这个功能非常实用,还可以设置警戒判断的标准是超过值还是小于值报警.个人感

Qt编写自定义控件15-百分比仪表盘

前言 百分比仪表盘,主要的应用场景是展示销售完成率.产品合格率等,也可以作为一个进度百分比展示,可以独立设置对应的标题文字,标题文字的颜色和整体的颜色都可以单独设置,建议设置成统一的风格,这样会显得更加美观,贴一张星空图作为背景就更美观,本控件也是作为大屏UI界面的一个子控件,用来展示产品的合格率. 实现的功能 1:可设置范围值,支持负数值 2:可设置精确度,最大支持小数点后3位 3:可设置大刻度数量/小刻度数量 4:可设置开始旋转角度/结束旋转角度 5:可设置仪表盘的标题 6:可设置外圆背景/

Qt编写自定义控件20-自定义饼图

前言 上次在写可视化数据大屏电子看板项目的时候,为了逐步移除对QChart的依赖(主要是因为QChart真的太垃圾了,是所有Qt的模块中源码最烂的一个,看过源码的人没有一个不吐槽,不仅不支持10W级别的数据量曲线展示,居然一个饼图控件,文字部分的展示还用QLabel来显示的,这么低效率的方式都有),起初曲线图和柱状图等都用QCustomPlot替代了,就剩一个饼图需要自己用无敌的QPainter来绘制了,绘制对应的背景区域难度不大,稍微会用QPainter的人都可以实现,用的就是drawPie绘

Qt编写自定义控件22-蚂蚁线

一.前言 关于蚂蚁线控件,相信很多用过PS的人都知道,在选中某个区域以后,边上的线条会有一种动态流动的效果,这种效果就叫做蚂蚁线,百科的解释是:动物的一种本能现象,领头的蚂蚁以随机的路线走向食物或洞穴,第二只蚂蚁紧跟其后以相同的路线行走,每一个后来的蚂蚁紧跟前面蚂蚁行走,排成一条线的现象.在图像影像软件中表示选区的动态虚线,因为虚线闪烁的样子像是一群蚂蚁在跑,所以俗称蚂蚁线.在Photoshop,After ffect等软件中比较常见. 在Qt项目中,有时候可能也会需要用到此控件,比如表格选中,