一 關於模態設置less
QProgressDialog能夠設置模態(須要在new的時候傳入parent),QProgressBar設置很差;spa
只有dialog能夠設置模態,widget不能設置模態(QProgressBar繼承自widget)code
二 關於位置設置blog
子窗口要相對於父窗口設置合適的位置,父窗口在屏幕上移動,子窗口對應跟着改變大小與位置:繼承
1 先設置子窗口的width與height,能夠按父窗口的比例來;get
2 而後以父窗口的左上角爲原點計算子窗口的位置QPoint;class
3 將2中的位置使用父窗口的mapToGlobal換算到屏幕的位置;map
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();
先設置最小大小,而後設置固定大小,則最小限制被抵消;反之則可行;