簡介: QSlider
移動條、QScrollBar
滾動條、QProgressBar
進度條控件的聯動,講解和的使用
本博文的簡述or解決問題?
詳情: 見簡介
編程環境: win10 x64 專業版 1803
編程軟件: Qt Creator 4.8.2 (Enterprise)
, Qt 5.9.8
同步博文:
系列博文:
比較緊密的關聯博文參考:
## 運行效果:
先放一張運行效果
繼承關係:
QSlider
移動條、QScrollBar
滾動條、進度條這三個控件,都是繼承於QAbstractSlider
類,其中關於QSlider和QAbstractSlider屬性講解,參考已經發過的文章https://blog.csdn.net/qq_33154343/article/details/100944831 ;關於這幾個控件的繼承關係如下圖:
滾動條QScrollBar:
- QScrollBar 從QAbstractSlider繼承而來的,具有QAbstractSlider的基本屬性,沒有專有屬性。
進度條QProgressBar:
- QProgressBar的父類是QWidget,一般用於進度顯示,常用屬性如下。
屬性 | 含義 |
---|---|
minimum | 最小值 |
maximum | 最大值 |
value | 當前值,可以設定或讀取當前值 |
textVisible | 是否顯示文字,文字一般是百分比表示的進度。 |
orientation | 可以設置爲水平或垂直方向。 |
format | 顯示文字的格式,“%p%”顯示百分比,“%v”顯示當前值,“%m”顯示總步數。缺省爲“%p%”。 |
代碼演示:
此處實現了,信號於槽函數的多對一,從而避免了槽函數的重複寫多遍
//ui->progressBarHor->setOrient1ation(Qt::Horizontal /*(the default) Qt::Vertical*/); 設置進度條水平或豎直
connect(ui->sliderHor, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->scrollBarHor, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->scrollBarHor, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->sliderVer, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->scrollBarVer, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->progressBarVer, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
===================================================================================
//對應的槽函數
void ExQProgressBar::onValChange(int val)
{
ui->sliderHor->setValue(val);
ui->scrollBarHor->setValue(val);
ui->progressBarHor->setValue(val);
ui->sliderVer->setValue(val);
ui->scrollBarVer->setValue(val);
ui->progressBarVer->setValue(val);
}
源碼下載:
https://github.com/touwoyimuli/QtExamples 【QtQProgressBarEx】
開心分享:
因爲有着許許多多的熱心網友的無私分享,從他們的博客中學習成長,學會很多,故也不辭辛苦也將自己的項目或經驗整理成博客的形式,也提供給一起大家學習探討與交流