painter

Qt编写自定义控件8-动画按钮组控件

别说谁变了你拦得住时间么 提交于 2019-12-01 21:51:21
前言 动画按钮组控件可以用来当做各种漂亮的导航条用,既可以设置成顶部底部+左侧右侧,还自带精美的滑动效果,还可以设置悬停滑动等各种颜色,原创作者雨田哥(QQ:3246214072),驰骋Qt控件界多年,雨田哥是我见过的在这块水平相当牛逼的,在我之上,想要什么效果都可以搞出来,大家也可以找他定制控件,物美价廉! 实现的功能 1:可设置线条的宽度 2:可设置线条的颜色 3:可设置线条的位置 上下左右 4:可设置按钮的正常+悬停+选中背景颜色 5:可设置文字的正常+悬停+选中背景颜色 6:切换位置线条自动跟随 7:可设置按钮字符串组合生成按钮组 8:可设置线条滑动的速度 效果图 头文件代码 #ifndef BUTTONGROUP_H #define BUTTONGROUP_H /** * 动画按钮组控件 作者:feiyangqingyun(QQ:517216493) 2018-9-12 * 参考雨田哥(QQ:3246214072) https://blog.csdn.net/ly305750665/article/details/80736504 * 1:可设置线条的宽度 * 2:可设置线条的颜色 * 3:可设置线条的位置 上下左右 * 4:可设置按钮的正常+悬停+选中背景颜色 * 5:可设置文字的正常+悬停+选中背景颜色 * 6:切换位置线条自动跟随 * 7

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

谁说胖子不能爱 提交于 2019-12-01 21:51:09
前言 多态进度条,顾名思义,有多重状态,其实本控件主要是用来表示百分比进度的,由于之前已经存在了百分比进度条控件,名字被霸占了,按照先来先得原则,只好另外取个别名叫做多态进度条,应用场景是,某种任务有三种状态,比如正常状态、警戒状态、报警状态,这三种状态都分别有一个占比,需要用不同的颜色表示,这样就衍生出了此控件,类似于堆积图。接下来节假日四天,可以全身心投入研发还未完工的大屏UI程序,基础控件部分+二级界面部分都已经做好,现在专心整合到主界面和打通数据流(采用数据库采集+网络采集两种方式)。多态进度条也是为了此项目特意定制的。 实现的功能 1:可设置三种状态不同的值 2:可设置三种状态不同的颜色 3:可设置圆角角度 4:可设置启用自动圆角 5:可设置边框宽度+颜色 6:可设置是否显示值或者百分比 7:可设置字体自适应大小 8:可设置背景颜色+文字颜色 9:精准计算圆角角度,解决了QSS中border-radius当进度小于圆角角度出现方形的BUG 效果图 头文件代码 #ifndef PROGRESSTHREE_H #define PROGRESSTHREE_H /** * 多态进度条控件 作者:feiyangqingyun(QQ:517216493) 2019-4-30 * 1:可设置三种状态不同的值 * 2:可设置三种状态不同的颜色 * 3:可设置圆角角度 * 4

Qt编写自定义控件32-等待进度条控件

北战南征 提交于 2019-12-01 21:50:20
一、前言 在各种各样的执行任务界面,有时候需要比较多的时间,需要给出一个直观的等待进度条表示当前正在执行的进度,而不至于懵逼在那里,用户不会觉得程序死了还是干嘛了。 等待进度条有好几种办法,比如直接叫美工做好gif图,用QLabel配合QMovie来加载gif图片,这种方法最简单最省事,或者做好多张进度条的图片,采用定时贴图来实现,这些办法省事归省事,就是还不够灵活,写死了,比如有时候需要更换颜色或者换一种展示形式,又需要美工重新做图了,折磨的要死。当时在写这个等待进度条的时候,就有考虑到集成多种样式进去供用户选择,比如圆弧状风格、旋转圆风格、三角圆弧、线条风格、圆环风格等,一个控件就相当于五六个控件,这个才牛逼一些,而且代码还很完整和精彩。 二、实现的功能 1:支持多种等待样式风格 圆弧状风格 旋转圆风格 三角圆弧 线条风格 圆环风格 2:可设置范围值和当前值 3:可设置前景色背景色 4:可设置顺时针逆时针旋转 5:支持任意大小缩放 6:支持设置旋转速度间隔 三、效果图 四、头文件代码 #ifndef PROGRESSWAIT_H #define PROGRESSWAIT_H /** * 等待进度条控件 作者:feiyangqingyun(QQ:517216493) 2016-10-28 * 1:支持多种等待样式风格 圆弧状风格 旋转圆风格 三角圆弧 线条风格 圆环风格 * 2

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

落花浮王杯 提交于 2019-12-01 16:28:47
前言 旋转仪表盘,一般用在需要触摸调节设置值的场景中,其实Qt本身就提供了QDial控件具有类似的功能,本控件最大的难点不在于绘制刻度和指针等,而在于自动计算当前用户按下处的坐标转换为当前值,这个功能想了很久,也看了QDial的源码,他里边写的非常复杂,最后还是参考的我打99分(100分留给自己未来写的书,哈哈!)的Qt书籍《c++ gui qt 4编程》中的篇章才写出来的,关键需要用到atan2将坐标转为值,看来学好数学真的很重要。 实现的功能 1:支持指示器样式选择 圆形指示器/指针指示器/圆角指针指示器/三角形指示器 2:支持鼠标按下旋转改变值 3:支持负数刻度值 4:支持设置当前值及范围值 5:支持左右旋转角度设置 6:支持设置大刻度数量和小刻度数量 7:支持设置各种颜色 8:字号随窗体拉伸自动变化 9:可设置是否显示当前值 效果图 头文件代码 #ifndef GAUGEDIAL_H #define GAUGEDIAL_H /** * 旋转仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2016-11-11 * 1:支持指示器样式选择 圆形指示器/指针指示器/圆角指针指示器/三角形指示器 * 2:支持鼠标按下旋转改变值 * 3:支持负数刻度值 * 4:支持设置当前值及范围值 * 5:支持左右旋转角度设置 * 6:支持设置大刻度数量和小刻度数量 *

Qt编写自定义控件6-指南针仪表盘

白昼怎懂夜的黑 提交于 2019-12-01 16:28:33
前言 指南针仪表盘,主要用来指示东南西北四个方位,双向对称两个指针旋转,其实就是360度打转,功能属于简单型,可能指针的绘制稍微难一点,需要计算多个点构成多边形,本系列控件文章将会连续发100+篇,一方面为了锻炼自己的毅力+坚持力,一方面为了宣传自己,如果各位对完整的源码有兴趣可以私聊,也欢迎在文章下面评论提出建议,谢谢! 实现的功能 1:可设置当前度数 2:可设置精确度 3:可设置是否启用动画及步长 4:可设置边框渐变颜色 5:可设置背景渐变颜色 6:可设置加深和明亮颜色 7:可设置指南指北指针颜色 8:可设置中心点渐变颜色 效果图 头文件代码 #ifndef GAUGECOMPASS_H #define GAUGECOMPASS_H /** * 指南针仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2016-11-12 * 1:可设置当前度数 * 2:可设置精确度 * 3:可设置是否启用动画及步长 * 4:可设置边框渐变颜色 * 5:可设置背景渐变颜色 * 6:可设置加深和明亮颜色 * 7:可设置指南指北指针颜色 * 8:可设置中心点渐变颜色 */ #include <QWidget> #ifdef quc #if (QT_VERSION < QT_VERSION_CHECK(5,7,0)) #include <QtDesigner

Qt编写自定义控件56-波浪曲线

痞子三分冷 提交于 2019-12-01 16:28:21
一、前言 波浪曲线控件,其实是之前一个水波进度条控件的一个核心,其实就是利用正弦曲线来生成对应的坐标进行绘制,把这个功能单独提取出来,是为了更详细的研究各种正弦余弦等拓展效果,当时写这个效果的时候,参考的是网上android绘制的水波效果的代码,然后自己重新理解以后,整理成Qt的版本,拓展了部分效果比如可以设置浪的高度,浪的密度,密度越大越浪,^_^,演示控件效果提供了滑块来设置对应的参数。 二、实现的功能 1:可设置波浪的速度 2:可设置波浪的高度 3:可设置波浪的密度,密度越大越浪 4:可设置背景颜色 5:可设置波浪颜色 三、效果图 四、头文件代码 #ifndef WAVEPLOT_H #define WAVEPLOT_H /** * 正弦曲线控件 作者:feiyangqingyun(QQ:517216493) 2017-2-10 * 1:可设置波浪的速度 * 2:可设置波浪的高度 * 3:可设置波浪的密度,密度越大越浪 * 4:可设置背景颜色 * 5:可设置波浪颜色 */ #include <QWidget> #ifdef quc #if (QT_VERSION < QT_VERSION_CHECK(5,7,0)) #include <QtDesigner/QDesignerExportWidget> #else #include <QtUiPlugin

Qt编写自定义控件37-发光按钮(会呼吸的痛)

自古美人都是妖i 提交于 2019-11-30 22:43:55
一、前言 这个控件是好早以前写的,已经授权过好几个人开源过此控件代码,比如红磨坊小胖,此控件并不是来源于真实需求,而仅仅是突发奇想,类似于星星的闪烁,越到边缘越来越淡,定时器动态改变边缘发光的亮度,产生呼吸的效果,别名叫会呼吸的痛,看到这个歌名,又让我想起了前女友,哎!久久不能忘怀! 大致的原理就是使用了锥形渐变QRadialGradient,然后定时器改变该渐变画刷的颜色的透明度值,产生呼吸效果。Qt中提供了好多种渐变画刷,非常有用,可以执行画刷的区域,然后等比例插值,指定插值对应的颜色,这样使用起来就非常的丰富了。 二、实现的功能 1:可设置呼吸间隔 2:可设置颜色透明渐变步长 3:可设置背景颜色 三、效果图 四、头文件代码 #ifndef LIGHTPOINT_H #define LIGHTPOINT_H /** * 呼吸点控件 作者:feiyangqingyun(QQ:517216493) 2017-11-27 * 1:可设置呼吸间隔 * 2:可设置颜色透明渐变步长 * 3:可设置背景颜色 */ #include <QWidget> #ifdef quc #if (QT_VERSION < QT_VERSION_CHECK(5,7,0)) #include <QtDesigner/QDesignerExportWidget> #else #include

Qt编写自定义控件40-导航进度条

时光总嘲笑我的痴心妄想 提交于 2019-11-30 22:43:17
一、前言 导航进度条控件,其实就是支付宝、京东、淘宝订单页面的进度控件,提示当前第几步,总共有几步,然后当前进度特殊颜色显示,每个进度带有时间文字等信息,本控件特意将三种样式风格都集成进去了,京东订单流程样式/淘宝订单流程样式/支付宝订单流程样式,可以动态切换样式,控件自适应任何分辨率,可以自由调整自身大小以适应分辨率的改变,总步骤以及当前步骤都是自动计算占用区域比例,直接提供接口设置步骤对应的文字信息等,接口非常友好。 二、实现的功能 1:可设置前景色/背景色/当前值前景色/当前值背景色 2:可设置最大步数及当前第几步 3:可设置导航标签队列文字信息 4:可设置三种风格样式 京东订单流程样式/淘宝订单流程样式/支付宝订单流程样式 5:文字自适应大小 三、效果图 四、头文件代码 #ifndef NAVPROGRESS_H #define NAVPROGRESS_H /** * 导航进度条控件 作者:feiyangqingyun(QQ:517216493) 2016-11-29 * 1:可设置前景色/背景色/当前值前景色/当前值背景色 * 2:可设置最大步数及当前第几步 * 3:可设置导航标签队列文字信息 * 4:可设置三种风格样式 京东订单流程样式/淘宝订单流程样式/支付宝订单流程样式 * 5:文字自适应大小 */ #include <QWidget> #ifdef quc #if

Qt编写自定义控件62-探探雷达

南楼画角 提交于 2019-11-30 18:01:38
一、前言 随着移动互联网的盛行,现在手机APP大行其道,每个人的手机没有十几个APP都不好意思说自己是现代人,各种聊天、购物、直播、小视频等APP,有个陌生人社交的APP叫探探,本人用过几次,当然不是去为了找对象,而是纯粹为了好玩研究下他的U设计和软件逻辑流程等,其中有个雷达控件,单击以后可以搜索附近的异性进行配对,这个雷达控件的效果蛮好的,于是手痒琢磨着用Qt来实现一个,毕竟自己写了150多个控件了,已经上瘾了,对各种效果都如鱼得水,看到各种效果都不自然的想到编码思路等。 这个控件的核心其实就是外围的那个扫描圈和发散的扫描线,中间变大变小恢复正常的圆形头像,外围的扫描圈采用锥形渐变颜色,通过透明度控制形成扫描效果,核心方法就是drawPie,至于扩散圈,需要识别到单击以后将扩散圈存入队列,因为可能会单击多次,产生多个扩散圈,至于中间头像的动态效果,采用三个QPropertyAnimation来实现,一个负责变大,一个负责变小,一个负责恢复正常,然后三个动画加入到QSequentialAnimationGroup动画序列中,按照顺序执行。 二、实现的功能 1:可设置中间图像 2:可设置图像的边框宽度+边框颜色,产生圆形图像效果 3:可设置扫描线的最大半径 4:可设置扫描线的边框宽度 5:可设置扩散圈的线条宽度 6:可设置扫描线的每次移动的步长 7:可设置扩散圈的每次移动的步长 8

Qt编写自定义控件17-按钮进度条

我的未来我决定 提交于 2019-11-30 18:01:28
前言 按钮进度条,顾名思义,表面上长得像一个按钮,单击以后切换成进度条指示按钮单击动作执行的进度,主要用在一些需要直接在按钮执行动作显示对应进度的场景,在很多网页中经常看到这种效果,这个效果有个优点就是直接在原地显示进度条,不占用其他位置,然后提供各种颜色可以设置。近期大屏电子看板程序接近尾声了,文章末尾贴出几张动图效果。 实现的功能 1:可设置进度线条宽度+颜色 2:可设置边框宽度+颜色 3:可设置圆角角度+背景颜色 效果图 头文件代码 #ifndef PROGRESSBUTTON_H #define PROGRESSBUTTON_H /** * 按钮进度条控件 作者:倪大侠(QQ:393320854 zyb920@hotmail.com) 2019-4-17 * 1:可设置进度线条宽度+颜色 * 2:可设置边框宽度+颜色 * 3:可设置圆角角度+背景颜色 */ #include <QWidget> class QTimer; #ifdef quc #if (QT_VERSION < QT_VERSION_CHECK(5,7,0)) #include <QtDesigner/QDesignerExportWidget> #else #include <QtUiPlugin/QDesignerExportWidget> #endif class QDESIGNER_WIDGET