QT有两种方式显示进度条,一种是QprogressBar,提供了一种横向或纵向显示进度的控件;另一种是QProgressDialog,提供了一种针对慢速过程的进度对话框表示方式。
主要代码及实现代码:
//方式一 QProgressBar* progressbar; progressbar=new QProgressBar; progressbar->setRange(0,Max); for(int i=0;i<Max;i++) { progressbar->setValue(i); } //方式二 QProgressDialog *progressDialog=new QProgressDialog(this); progressDialog.setWindowModality(Qt::WindowModal); progressDialog.setMinimumDuration(5); progressDialog.setWindowTitle(tr("")); progressDialog.setRange(0,Max); for(int i=0;i<Max;i++) { progressDialog.setValue(i); if(progressDialog.wasCanceled) return; }
2. QPalette类
//完成对窗体背景颜色的设置(蓝色) Qpalette p=palette(); p.setColor(Qpalette::Window,Qt::blue); setPalette(p);
使用方法:
ColorGroup指的是以下三种不同的状态:
Qpalette::Active:获得焦点的状态
Qpalette::Inactive:未获得焦点的状态
Qpalette::Disable:不可用状态
ColorRole指的是颜色主题,即对窗体中不同部位颜色的分类。如:Qpalette::Window表示背景颜色,Qpalette::WindowText指的是前景色。
void Qpalette::setColor(ColorGroup group, ColorRole role, const QColor& color);
void Qpalette::setColor(ColorRole role, const QColor& color);