网站大量收购独家精品文档,联系QQ:2885784924

QT-绘制简单图形.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QT-绘制简单图形

主要的任务 一、定时器的实现:使用定时器实现当前时间的显示(或自动关闭窗口等等) 二、随机数的实现 :每隔一秒产生一个不同的随机数。 一.定时器的实现 1)、自己建立关联 :时间到,执行什么动作,使用connect函数进行 2)、使用事件 :时间到,要执行timerEvent,只要实现此函数。 第一种 自己建立关联 1.新建Gui工程,工程名可以设置为timer。并在主界面上添加一个标签label,并设置其显示内容为“0000-00-00 00:00:00 星期日”。 2.在mainwindow.h中添加槽函数声明。 private slots: void timerUpDate(); 3.在mainwindow.cpp中添加代码 添加#include QtCore的头文件包含,这样就包含了QtCore下的所有文件。 在构造函数里添加代码: QTimer *timer = new QTimer(this);//新建定时器 connect(timer,SIGNAL(timeout()),this,SLOT(timerUpDate()));//关联定时器计满信号和相应的槽函数 timer-start(1000);//定时器开始计时,其中1000表示1000ms即1秒 4.然后实现更新函数 void MainWindow::timerUpDate() { QDateTime time = QDateTime::currentDateTime();//获取系统现在的时间 QString str = time.toString(“yyyy-MM-dd hh:mm:ss dddd”);//设置系统时间显示格式 ui-label-setText(str);//在标签上显示时间 } 5.运行程序,效果如下 第二种 使用事件 想想使用事件,如何实现时钟的跳动? 1.新建工程。在窗口上添加两个标签。 2.在main.cpp中添加代码,实现中文显示 #include QTextCodec QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); 3.在mainwindow.h中添加代码 void timerEvent(QTimerEvent *); 4.在mainwindow.cpp中添加代码 添加头文件#include QtCore 在构造函数里添加以下代码。 startTimer(1000); //其返回值为1,即其timerId为1 startTimer(5000);//其返回值为2,即其timerId为2 startTimer(10000); //其返回值为3,即其timerId为3 添加了三个定时器,它们的timerId分别为1,2,3。注意,第几个定时器的返回值就为几。所以要注意定时器顺序。 ? 5. 在下面添加函数实现。 void MainWindow::timerEvent(QTimerEvent *t) //定时器事件 { switch(t-timerId()) //判断定时器的句柄 { case 1 : ui-label-setText(tr(“每秒产生一个随机数:%1″).arg(qrand()%10));break; case 2 : ui-label_2-setText(tr(“5秒后软件将关闭”));break; case 3 : qApp-quit();break; //退出系统 } } 任务二 随机数的实现 : 上面程序中的qrand(),可以产生随机数,qrand()%10可以产生0-9之间的随机数。要想产生100以内的随机数就%100。以此类推。 但这样每次启动程序后,都按同一种顺序产生随机数。为了实现每次启动程序产生不同的初始值。我们可以使用qsrand(time(0));实现设置随机数的初值,而程序每次启动时time(0)返回的值都不同,这样就实现了产生不同初始值的功能。 我们将qsrand(time(0));一句加入构造函数里。 2. 程序最终运行效果如下 博创科技 嵌入互动 博创科技 基于ARM系统的设计与开发 广州学院 广东科学技术职业学院 博创科技 嵌入互动 ? 2005 博创科技 博创科技 北 京 博 创 兴 业 科 技 有 限 公 司 BEIJNG UNIVERSAL PIONEERING TECHNOLOGY Co . , LTD 博创科技 嵌入互动 博创科技 北 京 博 创 兴 业 科

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档