QT自定义控件系列(二) --- Loading加载动画控件

本系列主要使用Qt painter来实现一些基础控件。主要是对平时自行编写的一些自定义控件的总结。c++

为了简洁。低耦合,咱们尽可能不使用图片,qrc,ui等文件,而只使用c++的.h和.cpp文件。git

因为我的水平有限,学习Qt时间不长,因此代码中出现BUG,不够优雅以及有待改进部分,还请见谅和提出意见。github

本项目全部代码在Qt5.10以上均测试经过,理论上Qt 5版本应该都支持。less

本系列全部程序,已经放在了github的项目上,项目地址:https://github.com/LOMOoO/CustomControls-Qt学习

(二)Loading加载动画控件测试

示例如上,固然实际效果是动态的。动画

控件的特色ui

1.纯QPaint绘制,不包括图片等文件;this

2.可以自适应大小,不须要手动调整;spa

 

固然你也能够控制其余属性:

//设置圆点个数
    void setDotCount(int); //设置点颜色
    void setDotColor(const QColor&); //开始
    void start(); //设置圆点最大直径
    void setMaxDiameter(float); //设置圆点最小直径
    void setMinDiameter(float);

 

通常的lloading动画是独立于其余界面的,因此这里咱们作了简单的控制,当控件没有父级对象时,设置背景透明

//设置背景透明
    if(!this->parent()) { this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint); this->setAttribute(Qt::WA_TranslucentBackground, true); }

若是你还须要自定义圆点的样式,好比将其设置为正方形,汉字,你也能够参考源代码进行修改。更多部分,还请参考github上的源代码。

相关文章
相关标签/搜索