
Qt自绘控件
主要提交一些平常遇到的比较好看的控件,用自绘的方式实现它的思路、过程和代码。
youyicc
这个作者很懒,什么都没留下…
展开
-
Qt自绘控件索引
本文为记录本人提交的Qt自绘控件的快速导航。1.Qt自绘实现圆角渐变弧形进度条原创 2020-08-23 17:04:23 · 347 阅读 · 0 评论 -
Qt仿iOS的Switch开关实现
最近因为在玩iOS手机,突然觉得人家的开关就是很好看,于是乎自己花了点时间写了一下,下面是效果图,代码中没有使用定时器,而是直接用的属性动画,并且支持横向和竖向动态缩放。实现代码如下:Switch.h#ifndef WIDGET_H#define WIDGET_H#include <QVariant>#include <QWidget>enum class AnimationType{ NoAnimation, //没有动画 PropertyAn原创 2022-03-26 22:04:01 · 2217 阅读 · 0 评论 -
Qt自绘时钟表盘-1
一、效果图二、效果图拆解效果图上的表盘外圈分为三个同心圆环,每个圆环的颜色不一样,造就出一种表盘突出的错觉。内部刻度线分为长刻度线和短刻度线,两种刻度线的绘制方法一样,都是两个等腰梯形合并成的复杂图形。再往圆心是表盘数字,最中间的刻度线分为时分秒针,这三个指针都带有透明度,最短的是时针,稍微长点的是分针,最长的红色指针是分针,指针的绘制方法和小刻度线的绘制方法类似,只是尾部不是梯形,而是半圆。三、绘制过程拆解①首先绘制表盘的外圈(看上去有点像是凸出的部分),这里实际上是由三个同心圆环组成,由于色差原创 2020-09-19 18:31:55 · 1538 阅读 · 0 评论 -
Qt自绘汽车仪表盘-1
效果图原创 2020-09-05 15:24:52 · 4310 阅读 · 5 评论 -
Qt圆形等待界面绘制-3
一、效果图如下原创 2020-09-02 08:53:56 · 1073 阅读 · 0 评论 -
Qt圆形等待界面绘制-2
一、效果图如下二、效果图拆解根据效果图,实际就是以空间中心为圆心,计算周围12个小圆的桌标,然后计算每个小圆的路径存放在QPainterPath中,然后计算同心位置上需要遮罩的圆的路径存放在QPainterPath中,在绘制的时候,绘制两个同心圆相减的圆环区域。注意,这里有四个渐变:①外圆半径逐渐变大,②内圆半径逐渐变小,甚至为负数,③颜色渐变,④透明度渐变。三、准备工作①初始化窗口类,类继承自QDialog,设置窗口大小,去掉标题栏,任务栏,窗口置顶等,代码如下所示:setFixedSize(原创 2020-08-29 16:35:58 · 671 阅读 · 0 评论 -
Qt圆形等待界面绘制-1
一、效果图如下二、效果图拆解根据效果图,实际就是以为控件中心为圆心,计算周边12个小圆的坐标,然后在绘制透明度逐渐增加的小圆,最后添加定时器,重新绘制小圆即可。三、准备工作①初始化窗口类,类继承自QDialog,设置窗口大小,去掉标题栏,任务栏,窗口置顶等,代码如下所示:setFixedSize(150,150);//去掉标题栏 设置置顶 去掉任务栏图标setWindowFlags(Qt::FramelessWindowHint|Qt::Tool|Qt::WindowCloseButtonH原创 2020-08-28 09:23:55 · 1051 阅读 · 0 评论 -
迅雷下载进度悬浮球
一、效果图二、效果图拆解根据效果图上显示,进度悬浮球外观是一个圆,内部是两条水波纹荡漾实现,最中间的文字是三个标签组成。三、技术难点根据效果图显示,小球中间的水波纹实现是本文的难点,其中有两个难点,分别是:①水波纹如何实现?②如何绘制这样的下面是圆的一部分,上面是水波纹?四、难点实现讲解①效果图上的水波纹实际上两条正弦/余弦函数周期波动,一条颜色透明度比较高,放在后面,一条颜色透明度比较低,放在前面,采用定时器,周期性的移动这两条波动函数,实现水波纹效果。②如何绘制下面是圆形,上面是水波纹的异原创 2020-08-25 14:08:44 · 1030 阅读 · 0 评论 -
360悬浮球-小贝常规样式
一、效果图二、效果图拆解根据效果图上显示,常规模式的小贝是由多个同心圆组成的,最外圈是一个圆圈,然后是一个白色的圆环,圆环上绘制渐变色进度条,再里面是一个边缘向中心渐变的圆形渐变圆,最中间的文字是三个标签组成的。三、绘制过程拆解①首先绘制一个圆圈,颜色指定为灰色即可。②将半径减少一个像素,绘制一个填充的带透明度的白色圆。③半径不变,从90°开始顺时针绘制锥形渐变扇形圆环。④半径减小,留出进度条显示的宽度,绘制一个带有透明度的圆圈。⑤半径再减小一个像素,绘制一个带有透明度的圆形渐变圆。⑥设原创 2020-08-24 16:10:17 · 2131 阅读 · 0 评论