版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 实 验 报 告 课程名称 软件案例分析 实验名称 进度指示器制作 班 级 学 号 姓 名 成 绩 指导教师 实验日期 1. 实验目的(1) 理解自定义进度指示器的设计原理。(2) 理解进度百分比反色显示实现原理。(3) 了解熟悉Qt Creator开发环境及相关控件的使用。(4) 了解信号和槽的关联及作用。(5) 熟练掌握QTimer定时器的使用方法。(6) 掌握动态控件的创建和使用方法。(7) 掌握嵌入子对话框的实现方法。2. 实验环境Qt Creator + MinGW 4.9 (32-bit),Windows7,4G内存,DELL笔记本一台。3. 实验要求(1) 进度条未完成进度为白底
2、红(或其他颜色)字。(2) 进度条已完成进度为红(或其他颜色)底白字。(3) 进度具有加速、减速、停止功能,如图所示。(4) 运行界面友好简洁。 主界面 子界面4. 实验步骤及代码(1)启动Qt Creator,创建基于对话框的Qt Widgets Application类型的应用程序,命名为ProSelf。(2)修改对话框标题为“进度指示器”。在主界面窗口中添加5个按钮控件,三个静态文本控件,和一个进度条控件,界面设计如图所示。(3) 在主界面设置五个PushButton控件,对象名称分别为“start”,“up”,“down”,“stop”,“Close”,设置text文本为“开始”,“加
3、速”,“减速”,“停止”,“关闭”,设置三个标签的text文本为“速度”,“0”,“秒/次”。(4) 向工程中添加Qt设计师界面类(模板为Dialog without Buttons)子对话框资源,命名为“Dialog”,修改标题为“窗口标题”,向设计界面添加一个Group Box控件,设置标题为“子标题”,向Group Box控件中添加一个进度条控件,界面设计如图。(5) 在ProgBar.h添加如下代码:/声明槽private slots: void on_start_clicked();/开始 void on_up_clicked();/加速 void on_down_clicked()
4、;/减速 void on_stop_clicked();/停止 void on_Close_clicked();/关闭signals: void sendValue(int);/传值private: Ui:Widget *ui; int i;/变量 QTimer *timerStart;/开始定时器 QTimer *timerUp;/加速定时器 QTimer *timerDown;/减速定时器 Dialog *dialog;/子对话框(6) 主界面类构造函数中进行成员变量的初始化。示例代码如下:this->setFixedSize(width(),height(); ui->pro
5、gressBar->setValue(0);/初始值为0 ui->progressBar->setRange(0,MAXSIZE-1);/设置进度条值的范围 /红底 ui->progressBar->setStyleSheet("QProgressBar:chunk background-color: rgb(255, 0, 0) "); timerStart=new QTimer(this); timerUp=new QTimer(this); timerDown=new QTimer(this); connect(timerStart,SI
6、GNAL(timeout(),this,SLOT(on_start_clicked(); connect(timerUp,SIGNAL(timeout(),this,SLOT(on_up_clicked(); connect(timerDown,SIGNAL(timeout(),this,SLOT(on_down_clicked(); i=0; dialog=new Dialog; connect(this,SIGNAL(sendValue(int),dialog,SLOT(getValue(int); dialog->show(); i=0; ui->start->setE
7、nabled(true); ui->up->setEnabled(false); ui->down->setEnabled(false); ui->stop->setEnabled(false);(7) 分别为五个PushButton添加信号对应的槽(类似消息响应函数),代码如下:/开始void Widget:on_start_clicked() ui->start->setEnabled(false); ui->up->setEnabled(true); ui->down->setEnabled(true); ui-&g
8、t;stop->setEnabled(true); timerStart->start(1); timerUp->stop(); timerDown->stop(); if(i >=MAXSIZE-1 ) ui->progressBar->setValue(MAXSIZE-1); emit sendValue(MAXSIZE-1); timerStart->stop(); QMessageBox:information(this,tr("提示"),tr("结束!"),QMessageBox:Ok|QMess
9、ageBox:Default); return; /赋值 ui->progressBar->setValue(i); i+=I; emit sendValue(i); ui->label_2->setText("4");/加速void Widget:on_up_clicked() timerUp->start(1); timerDown->stop(); timerStart->stop(); if(i >=MAXSIZE-1 ) ui->progressBar->setValue(MAXSIZE-1); emit
10、 sendValue(MAXSIZE-1); timerUp->stop(); QMessageBox:information(this,tr("提示"),tr("结束!"),QMessageBox:Ok|QMessageBox:Default); return; ui->progressBar->setValue(i); i+=UP; emit sendValue(i); ui->label_2->setText("7");/减速void Widget:on_down_clicked() timerDo
11、wn->start(1); timerStart->stop(); timerUp->stop(); if(i >=MAXSIZE-1 ) ui->progressBar->setValue(MAXSIZE-1); emit sendValue(MAXSIZE-1); timerDown->stop(); QMessageBox:information(this,tr("提示"),tr("结束!"),QMessageBox:Ok|QMessageBox:Default); return; ui->progr
12、essBar->setValue(i); i+=DOWN; emit sendValue(i); ui->label_2->setText("1");/停止void Widget:on_stop_clicked() ui->start->setEnabled(true); ui->up->setEnabled(false); ui->down->setEnabled(false); ui->stop->setEnabled(false); timerStart->stop(); timerDown->stop(); timerUp->stop(); ui->label_2->setText("0");/关闭void Widget:on_Close_clicked() this->close(); dialog->close();5. 结果截图初始界面开始界面加速界面减速界面6. 回答思考题(1) 为了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 1483.5-2026灯头、灯座检验量规第5部分:卡口式灯头、灯座的量规
- 安徽省黄山市2027届化学九年级第一学期期末复习检测模拟试题含解析
- 2027届河南省洛阳市名校九上化学期中达标测试试题含解析
- 湖北省咸宁市名校2027届化学九上期末经典试题含解析
- 江苏省无锡外国语学校2027届九上物理期末复习检测模拟试题含解析
- 2026中国隐私计算技术金融领域应用成熟度与标准体系构建研究报告
- 2026商业地产运营管理供需关系分析竞争策略评估投资发展规划研究报告
- 2027届云南民族大学附属中学化学九上期末监测模拟试题含解析
- 2026中国吸尘器市场国内外品牌竞争与价格策略报告
- 2026欧盟汽车电子行业市场供需状态研究分析及投资机会规划优化报告
- 2026年数字安徽有限责任公司所属企业安徽数安系统集成有限公司第1批次社会招聘18人考试备考试题及答案详解
- 2026年秋季电气工程专业开学第一课 专业认知与学业规划
- 2026 年秋季开学:教师课程标准深度解读培训
- 35kV高压架空线路运行管理制度
- 2026年教育理论综合知识习题及答案
- 贵阳市低空产业发展有限公司招聘笔试题库2026
- 2026新版《安全生产管理人员工作指导手册》
- 2026年甘肃省广播电视总台招聘事业编制工作人员20人考试参考题库及答案详解
- 2026年宿州砀山县经济开发区公开招聘紧缺型人才2名笔试模拟试题及答案详解
- 拆除工程施工安全监理交底
- 硫酸安全技术说明书培训
评论
0/150
提交评论