欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于QT的进度条显示代码.doc

    • 资源ID:77550776       资源大小:25KB        全文页数:8页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于QT的进度条显示代码.doc

    实 验 报 告课程名称 软件案例分析 实验名称 进度指示器制作 班 级 学 号 姓 名 成 绩 指导教师 实验日期 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) 进度条已完成进度为红(或其他颜色)底白字。(3) 进度具有加速、减速、停止功能,如图所示。(4) 运行界面友好简洁。 主界面 子界面4. 实验步骤及代码(1)启动Qt Creator,创建基于对话框的Qt Widgets Application类型的应用程序,命名为ProSelf。(2)修改对话框标题为“进度指示器”。在主界面窗口中添加5个按钮控件,三个静态文本控件,和一个进度条控件,界面设计如图所示。(3) 在主界面设置五个PushButton控件,对象名称分别为“start”,“up”,“down”,“stop”,“Close”,设置text文本为“开始”,“加速”,“减速”,“停止”,“关闭”,设置三个标签的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();/减速 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->progressBar->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,SIGNAL(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->setEnabled(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->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|QMessageBox: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 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() timerDown->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->progressBar->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) 为了实现进度值的渐变反色显示,在CreateUpEdit函数中如何控制上层中间红底白字编辑框的动态显示?答:实时监控当前进度的变化,当当前的进度达到一半(50%)时,根据计算对应的坐标即可控制上层中间红底白字编辑框的动态显示。(2) 若采用动态控件数组,如何实现4个动态编辑框的创建和控制?答:在开始按钮点击后,根据当前的进度,计算对应的速度,分别创建并用动态控件的4个编辑框动态显示当前的信息即可。第 8 页

    注意事项

    本文(基于QT的进度条显示代码.doc)为本站会员(美****子)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开