Qt编写自定义控件大全

Posted Qt项目一站式解决方案

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt编写自定义控件大全相关的知识,希望对你有一定的参考价值。

设计师designer完整源码(仅限Qt4):https://pan.baidu.com/s/1t9uKOgi7PW34Kdj7rgTlrA 
设计师designer可执行文件:https://pan.baidu.com/s/1h3oUjqBun2_YD68gry84wQ 
自定义控件Qt4封装版本:https://pan.baidu.com/s/1JnpCwIW5sY9VtViqHSCi1g 
自定义控件Qt5封装版本:链接:https://pan.baidu.com/s/1i8GRZSJanELgCZmThtaUiw  提取码:dzil 
自定义控件属性设计器:链接:https://pan.baidu.com/s/1ojS7q4FZW7R-EzyJ3oSYlA  提取码:zzmy 
不定期增加控件及修正BUG和改进算法。目前已超过133个控件。


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图表的交互使用。

以上是关于Qt编写自定义控件大全的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Qt编写自定义控件41-自定义环形图

Qt编写自定义控件属性设计器

Qt编写自定义控件:左上角圆形菜单控件

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