您的位置:首页 > 编程语言 > Qt开发

学习Qt5(4)

2015-09-07 23:35 561 查看

1.QToolBox抽屉效果

1)QToolBox构造一种列状的层叠抽屉效果的窗体;

2)QToolButton构造一种快速访问或选择项的通常用于工具条使用的按钮;

3)示例代码:(其中主窗体继承QToolBox)
QToolButton *toolBtn1 =new QToolButton;
toolBtn1->setText(tr("one"));
toolBtn1->setAutoRaise(true);
QToolButton *toolBtn2 =new QToolButton;
toolBtn2 ->setText(tr("two"));
toolBtn2 ->setAutoRaise(true);
QToolButton *toolBtn3 =new QToolButton;
toolBtn3 ->setText(tr("three"));
toolBtn3 ->setAutoRaise(true);
QToolButton *toolBtn4 =new QToolButton;
toolBtn4 ->setText(tr("four));
toolBtn4 ->setAutoRaise(true);
QGroupBox *groupBox1=new QGroupBox;
QVBoxLayout *layout1=new QVBoxLayout(groupBox1);
layout1->setAlignment(Qt::AlignHCenter);
layout1->addWidget(toolBtn1);
layout1->addWidget(toolBtn2);
QGroupBox *groupBox2=new QGroupBox;
QVBoxLayout *layout1=new QVBoxLayout(groupBox2);
layout1->setAlignment(Qt::AlignHCenter);
layout1->addWidget(toolBtn3);
layout1->addWidget(toolBtn4);
this->addItem((QWidget*)groupBox1,tr("first item"));
this->addItem((QWidget*)groupBox2,tr("second item"));


2.QProgressBar | QProgressDialog进度条效果

1)为了更有好的效果,通常在进行长时间的任务的时候,会理哟个进度条来显示时间,告诉用户任务的进展情况;

2)模态方式:需使用QApplication:processEvents()进行时间循环的刷新;

3)非模态:需要通过QTime定时设置进度条的数值;

4)模态是指在打开之后,程序被占用,不能够进行其他操作,而非模态则可以进行其他操作;

5)format可以格式化进度条显示的格式,%p%(完成百分比)、%v(当前进度值)、%m(总的步进值);

6)示例代码:

progressBar->setRange(0, 100);
for (int i = 1; i < 100 + 1; i++)
{
progressBar->setValue(i);
}
QProgressDialog *progressDialog=new QProgressDialog(this);
progressDialog->setWindowModality(Qt::WindowModal);
progressDialog->setWindowTitle(tr("Please Wait"));
progressDialog->setCancelButtonText(tr("Cancel"));
progressDialog->setRange(0, 100 );
for (int i = 1; i < 100 + 1; i++)
{
progressDialog->setValue(i);
if (progressDialog->wasCanceled())
return;
}


3.QOalette调色板效果

1)相当于控件的调色板,可以通过它进行颜色外观的设置;

2)QPalette::Active 获得焦点的状态;

3)QPalette::Inactive 没有获得焦点的状态;

4)QPalette::Disable 不可用状态;

5)主要的设置颜色函数用setColor()和setBrush()两个;

6)示例代码:

QPalette p = palette();
p.setColor(QPalette::Window, Qt::blue);
setPalette(p);


4.QTime时间控件

1)利用currentTime()获取当前的系统时间;

2)利用toString()来将时间格式化显示;

3)代码示例:

QTime time = QTime::currentTime();
QString text = time.toString("hh:mm:ss");


5.QSplashScreen程序启动画面效果

1)通常用于大型程序的加载时间过长而进行的友好性设置,或者是展示软件信息;

2)示例代码:

QSplashScreen splash(QPixmap);
splash.show();
a.processEvents();
MainWindow w;
w.show();
splash.finish(&w);


6.折叠窗口与不规则窗口

1)折叠窗口首先利用setSizeConstraint(QLayout::SetFixedSize)来设置窗口的固定大小,不能够通过拖拽来改变大小;

2)实现方式:将两个窗体利用布局放在一起,其中一个隐藏和显示交替;

3)不规则窗体是利用遮罩setMask()来实现的,力求更良好的感官和界面展示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: