Pen

Qt编写自定义控件60-声音波形图

女生的网名这么多〃 提交于 2019-11-30 12:02:02
一、前言 这个控件源自于一个音乐播放器,在写该音乐播放器的时候,需要将音频的数据转换成对应的频谱显示,采用的fmod第三方库来处理(fmod声音系统是为游戏开发者准备的革命性音频引擎,非常强大和牛逼),fmod负责拿到音频数据对应的采样频谱数据,然后传给这个控件进行绘制即可,本控件主需要专注于绘制即可,这样fmod对应封装的类专注于音频采集等处理,实现了隔离,修改和增加功能比较方便,声音波形图控件除了可以设置采样的深度以外,还支持三种数据样式展示,线条样式、柱状样式、平滑样式。为了可以直接定位到某一位置直接跳转到音频位置,还增加了绘制数线条定位线。 二、实现的功能 1:可设置采样深度 2:可设置当前位置线条宽度/线条颜色 3:可设置前景色/背景色 4:可设置数据展示样式,线条样式/柱状样式/平滑样式 三、效果图 四、头文件代码 #ifndef WAVEDATA_H #define WAVEDATA_H /** * 音量采样值波形控件 作者:feiyangqingyun(QQ:517216493) 2017-9-10 * 1:可设置采样深度 * 2:可设置当前位置线条宽度/线条颜色 * 3:可设置前景色/背景色 * 4:可设置数据展示样式,线条样式/柱状样式/平滑样式 */ #include <QWidget> #ifdef quc #if (QT_VERSION < QT

Qt编写自定义控件54-时钟仪表盘

不羁的心 提交于 2019-11-30 03:47:31
一、前言 这个控件没有太多的应用场景,主要就是练手,论美观的话比不上之前发过的一个图片时钟控件,所以此控件也是作为一个基础的绘制demo出现在Qt源码中,我们可以在Qt的安装目录下找到一个时钟控件的绘制,甚至还有qml版本,本控件无非就是一个仪表边框加上时钟分钟刻度再加上时分秒指针,打完收工,我是在此基础上增加了可以设置各种颜色,然后鼠标右键可设置四种效果 普通效果/弹簧效果/连续效果/隐藏效果,弹簧效果的意思是秒钟走动的时候,先移动到超过指定位置,然后又重新弹回来,连续效果的意思是将步长减少,一点点的移动,将秒钟的定时器精度调高。还有一个新增的功能是内置了设置系统时间公共槽函数,支持任意操作系统。 二、实现的功能 1:可设置边框颜色 2:可设置前景色背景色 3:可设置时钟分钟秒钟指针颜色 4:可设置刷新间隔 5:鼠标右键可设置四种效果 普通效果/弹簧效果/连续效果/隐藏效果 6:增加设置系统时间公共槽函数,支持任意操作系统 三、效果图 四、头文件代码 #ifndef GAUGECLOCK_H #define GAUGECLOCK_H /** * 时钟仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2016-10-23 * 1:可设置边框颜色 * 2:可设置前景色背景色 * 3:可设置时钟分钟秒钟指针颜色 * 4:可设置刷新间隔 * 5

Qt编写自定义控件54-时钟仪表盘

对着背影说爱祢 提交于 2019-11-29 14:25:46
一、前言 这个控件没有太多的应用场景,主要就是练手,论美观的话比不上之前发过的一个图片时钟控件,所以此控件也是作为一个基础的绘制demo出现在Qt源码中,我们可以在Qt的安装目录下找到一个时钟控件的绘制,甚至还有qml版本,本控件无非就是一个仪表边框加上时钟分钟刻度再加上时分秒指针,打完收工,我是在此基础上增加了可以设置各种颜色,然后鼠标右键可设置四种效果 普通效果/弹簧效果/连续效果/隐藏效果,弹簧效果的意思是秒钟走动的时候,先移动到超过指定位置,然后又重新弹回来,连续效果的意思是将步长减少,一点点的移动,将秒钟的定时器精度调高。还有一个新增的功能是内置了设置系统时间公共槽函数,支持任意操作系统。 二、实现的功能 1:可设置边框颜色 2:可设置前景色背景色 3:可设置时钟分钟秒钟指针颜色 4:可设置刷新间隔 5:鼠标右键可设置四种效果 普通效果/弹簧效果/连续效果/隐藏效果 6:增加设置系统时间公共槽函数,支持任意操作系统 三、效果图 四、头文件代码 #ifndef GAUGECLOCK_H #define GAUGECLOCK_H /** * 时钟仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2016-10-23 * 1:可设置边框颜色 * 2:可设置前景色背景色 * 3:可设置时钟分钟秒钟指针颜色 * 4:可设置刷新间隔 * 5

clearfix为什么用display:table,而不用display:block

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-29 07:51:22
本文转载于: 猿2048 网站➮ clearfix为什么用display:table,而不用display:block 我们都知道clearfix一般这么写: .clearfix:before,.clearfix:after{ content:""; display:table; } .clearfix:after{clear:both;} 但是为嘛用 display:table哪? 我用display:block好像也是显示很正常,也能清除浮动。 曾经也搜索过这个问题,感觉都讲得糊里糊涂的还是我水平太低了,反正我是看不懂他们想要表达啥意思,也不给例子,好了,废话不多说, 看结果吧: See the Pen Clearfix by wenjie ( @wenjie ) on CodePen . 网上讲得一堆什么使父容器形成BFC,什么防止margin塌陷。但是不给例子,我怎么搞都不会塌陷。 我本来是蓝色那一块那样测试的,看到没,我用:block,margin很正常, 并没有塌陷啊? 后来才发现,其实margin要在一个 没有浮动的标签上,才会发生塌陷。所以 display:table就是为了解决这个 问题的。 两个都浮动的时候,并不会发生塌陷,不管你怎么测都测不出来 用block代替table有何问题。 还有为什么 要写:before呢?我去掉也是正常清除浮动啊, 一样的

Qt编写自定义控件60-声音波形图

早过忘川 提交于 2019-11-28 18:15:19
一、前言 这个控件源自于一个音乐播放器,在写该音乐播放器的时候,需要将音频的数据转换成对应的频谱显示,采用的fmod第三方库来处理(fmod声音系统是为游戏开发者准备的革命性音频引擎,非常强大和牛逼),fmod负责拿到音频数据对应的采样频谱数据,然后传给这个控件进行绘制即可,本控件主需要专注于绘制即可,这样fmod对应封装的类专注于音频采集等处理,实现了隔离,修改和增加功能比较方便,声音波形图控件除了可以设置采样的深度以外,还支持三种数据样式展示,线条样式、柱状样式、平滑样式。为了可以直接定位到某一位置直接跳转到音频位置,还增加了绘制数线条定位线。 二、实现的功能 1:可设置采样深度 2:可设置当前位置线条宽度/线条颜色 3:可设置前景色/背景色 4:可设置数据展示样式,线条样式/柱状样式/平滑样式 三、效果图 四、头文件代码 #ifndef WAVEDATA_H #define WAVEDATA_H /** * 音量采样值波形控件 作者:feiyangqingyun(QQ:517216493) 2017-9-10 * 1:可设置采样深度 * 2:可设置当前位置线条宽度/线条颜色 * 3:可设置前景色/背景色 * 4:可设置数据展示样式,线条样式/柱状样式/平滑样式 */ #include <QWidget> #ifdef quc #if (QT_VERSION < QT