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

相關文章
相關標籤/搜索