QT QProgressBar QProgressDialog 模態,位置設置,無邊框,進度條樣式


一  關於模態設置

QProgressDialog可以設置模態(需要在new的時候傳入parent),QProgressBar設置不好;

只有dialog可以設置模態,widget不能設置模態(QProgressBar繼承自widget)

二  關於位置設置

子窗口要相對於父窗口設置合適的位置,父窗口在屏幕上移動,子窗口對應跟着改變大小與位置:

1 先設置子窗口的width與height,可以按父窗口的比例來;

2 然后以父窗口的左上角為原點計算子窗口的位置QPoint;

3 將2中的位置使用父窗口的mapToGlobal換算到屏幕的位置;

4 將3中得到的位置設置給子窗口;

如果子窗口設置成無邊框的,則子窗口位置設置自動轉換成相對於父窗口的位置,此時不再需要轉換屏幕坐標設置;

三  關於無邊框,無取消按鈕

setCancelButton(0);//隱藏取消按鈕

setWindowFlags(Qt::FramelessWindowHint);//無邊框 

setStyleSheet("QWidget{background-color: rgb(255,255,255);}");//背景板是白色

四  關於進度條樣式

取消顯示百分比,QProgressBar的setTextVisiable可以設置;

但是QProgressDialog沒有setTextVisiable怎么辦?

這時new一個QProgressBar(該QProgressDialog可構造設置為其parent,方便管理),

然后QProgressDialog調用setBar即可;

progressBar再設置setTextVisiable(false)即可。

進度條還可以設置QSS樣式;

五 進度條大小控制

有setFixedSize()與setMinminSize();

先設置最小大小,然后設置固定大小,則最小限制被抵消;反之則可行;


免責聲明!

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



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