zoukankan      html  css  js  c++  java
  • QT自定义控件系列(二) --- Loading加载动画控件

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

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

    由于个人水平有限,学习Qt时间不长,所以代码中出现BUG,不够优雅以及有待改进部分,还请见谅和提出意见。

    本项目所有代码在Qt5.10以上均测试通过,理论上Qt 5版本应该都支持。

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

    (二)Loading加载动画控件

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

    控件的特点

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

    2.能够自适应大小,不需要手动调整;

    当然你也可以控制其他属性:

    //设置圆点个数
        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上的源代码。

  • 相关阅读:
    Qt ini文件
    Qt我的文档 桌面路径
    windows zlib库编译步骤
    环形缓冲区
    openssl生成随机数
    怎样安装Scrapy
    CentOS7怎样安装GoAccess1.3
    Docker创建数据卷容器
    Docker创建数据卷
    Docker创建容器
  • 原文地址:https://www.cnblogs.com/lomooo/p/10271374.html
Copyright © 2011-2022 走看看