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上的源代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM