Home

Awesome

花里胡哨控件集合

个人开发的几个比较有意思的控件的集合。

互动按钮

仓库地址:InteractiveButtons

带有超强交互动画的按钮,可轻松扩展,下面很多控件都是基于它

可交互的创意动态按钮

猫咪按钮

菜单

仓库地址:FacileMenu

非常简单易用、优雅美观的菜单,每一处都带有动画,连分割线都不放过

无限层级,响应键盘、鼠标单独操作,支持单快捷键。

允许添加自定义 action、widget、layout,当做特殊的 QDialog 使用。

飘逸的菜单

超简单使用方法:

FacileMenu* menu = new FacileMenu(this);
menu->addAction("开始播放 (&S)", [=]{
    /* 添加动作菜单项 */
})->disable(!playing);
menu->exec();

趣味开关

仓库地址:SapidSwitch

趣味开关

动画多选框

仓库地址:AniCheckBox

一个带切换动画的 CheckBox,没有其他特殊效果

CheckBox

轮播图

仓库地址:SlideShow

懒得取名的只为了好看的轮播图。

在图片切换的同时,每张图片内部还有一丝丝的“漂移”效果。除了带来灵活的视觉效果外,还使得左右缩略图露出的部分可以很好的显示偏向中心的内容

另外,在两图交替的那一瞬间,采用了很微妙的渐变消失特效,从而不会产生瞬间变换的闪屏感觉,这是其它轮播图都未能做到的。

轮播图

折线图

仓库地址:LineChart

带动画、带交互的折线图:

  1. 动态增删数值
  2. 自适应显示坐标轴数值
  3. 鼠标悬浮显示十字对准线
  4. 鼠标靠近点自动贴附
  5. 支持直线与二次/三次贝塞尔曲线效果
  6. 自定义点的显示类型与大小
  7. 自适应点的数值显示位置
  8. 根据指定锚点缩放
  9. 平滑的横向移动
  10. 选中的纵向渐变效果

折线图

果冻滚动条

仓库地址:SlimScrollBar

可以像弓弦一样拉出来,并且来回弹动的普通滚动条。

果冻条

支持设置到任意垂直滚动条上,超简单使用方法:

widget->setVerticalScrossbar(new SlimScrollBar(widget->parentWidget()));

会逃跑的按钮

仓库地址:EscapeDialog

会逃跑的按钮

按钮三剑客

奶酪被拉出来的粘性效果(但其实更像果冻)

仓库地址:JellyButtonBox

果冻按钮

标签输入框

仓库地址:LabeledEdit

带有标签动画、焦点动画、正确提示、错误警告的单行输入框控件。

标签输入框

注册动画

当前写作天下中的注册动画,使用了本集合中的多种控件:

注册动画

画廊

仓库地址:GalleryWidget

画廊

可拖拽标签组

仓库地址:DragableTabWidget

模仿VSCode的可任意拖拽的Tab标签组

可拖拽标签组

可交互验证码

仓库地址:RandomVerification

可交互验证码

时间轴

仓库地址:TimelineWidget

多列时间轴控件,可与字符串格式自由转换。

时间轴

指示箭头

仓库地址:InterestingIndicate

指示箭头

贝塞尔波浪

仓库地址:Bezier-Wave

贝塞尔波浪

微动背景

仓库地址:Dynamic-Background

随着时间、空间,色彩以难以察觉的速度缓慢变化。

虽然是动态,但是慢到难以发觉,最适合大段文字的长期阅读与写作。

微动背景

窗口内通知

仓库地址:Notification-Manager-V2

仿Windows通知,多个通知显示,定时消失,支持出现/消失动画。

两种使用方式:

另外支持卡片本身、附加三个按钮的点击事件。

窗口内通知