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

一  關於模態設置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();

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

相關文章
相關標籤/搜索