欢迎来到天天文库
浏览记录
ID:58069346
大小:207.50 KB
页数:8页
时间:2020-04-22
《基于QT的进度条显示代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验报告课程名称软件案例分析实验名称进度指示器制作班级学号姓名成绩指导教师实验日期1.实验目的(1)理解自定义进度指示器的设计原理。(2)理解进度百分比反色显示实现原理。(3)了解熟悉QtCreator开发环境及相关控件的使用。(4)了解信号和槽的关联及作用。(5)熟练掌握QTimer定时器的使用方法。(6)掌握动态控件的创建和使用方法。(7)掌握嵌入子对话框的实现方法。2.实验环境QtCreator+MinGW4.9(32-bit),Windows7,4G内存,DELL笔记本一台。3.实验要求(1)进度条未完成进度为白底红(或其他颜色)字。(2)进度条已完成进度
2、为红(或其他颜色)底白字。(3)进度具有加速、减速、停止功能,如图所示。(4)运行界面友好简洁。主界面子界面4.实验步骤及代码(1)启动QtCreator,创建基于对话框的QtWidgetsApplication类型的应用程序,命名为ProSelf。(2)修改对话框标题为“进度指示器”。在主界面窗口中添加5个按钮控件,三个静态文本控件,和一个进度条控件,界面设计如图所示。(3)在主界面设置五个PushButton控件,对象名称分别为“start”,“up”,“down”,“stop”,“Close”,设置text文本为“开始”,“加速”,“减速”,“停止”,“关闭
3、”,设置三个标签的text文本为“速度”,“0”,“秒/次”。(4)向工程中添加Qt设计师界面类(模板为DialogwithoutButtons)子对话框资源,命名为“Dialog”,修改标题为“窗口标题”,向设计界面添加一个GroupBox控件,设置标题为“子标题”,向GroupBox控件中添加一个进度条控件,界面设计如图。(5)在ProgBar.h添加如下代码://声明槽privateslots:voidon_start_clicked();//开始voidon_up_clicked();//加速voidon_down_clicked();//减速voidon
4、_stop_clicked();//停止voidon_Close_clicked();//关闭signals:voidsendValue(int);//传值private:Ui::Widget*ui;inti;//变量QTimer*timerStart;//开始定时器QTimer*timerUp;//加速定时器QTimer*timerDown;//减速定时器Dialog*dialog;//子对话框(6)主界面类构造函数中进行成员变量的初始化。示例代码如下:this->setFixedSize(width(),height());ui->progressBar->s
5、etValue(0);//初始值为0ui->progressBar->setRange(0,MAXSIZE-1);//设置进度条值的范围//红底ui->progressBar->setStyleSheet("QProgressBar::chunk{background-color:rgb(255,0,0)}");timerStart=newQTimer(this);timerUp=newQTimer(this);timerDown=newQTimer(this);connect(timerStart,SIGNAL(timeout()),this,SLOT(on_s
6、tart_clicked()));connect(timerUp,SIGNAL(timeout()),this,SLOT(on_up_clicked()));connect(timerDown,SIGNAL(timeout()),this,SLOT(on_down_clicked()));i=0;dialog=newDialog;connect(this,SIGNAL(sendValue(int)),dialog,SLOT(getValue(int)));dialog->show();i=0;ui->start->setEnabled(true);ui->up->
7、setEnabled(false);ui->down->setEnabled(false);ui->stop->setEnabled(false);(3)分别为五个PushButton添加信号对应的槽(类似消息响应函数),代码如下://开始voidWidget::on_start_clicked(){ui->start->setEnabled(false);ui->up->setEnabled(true);ui->down->setEnabled(true);ui->stop->setEnabled(true);timerStart->start(1);timer
8、Up->s
此文档下载收益归作者所有