《qt的定时器应用》word版

《qt的定时器应用》word版

ID:25596781

大小:68.15 KB

页数:6页

时间:2018-11-21

《qt的定时器应用》word版_第1页
《qt的定时器应用》word版_第2页
《qt的定时器应用》word版_第3页
《qt的定时器应用》word版_第4页
《qt的定时器应用》word版_第5页
资源描述:

《《qt的定时器应用》word版》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、分享到窗体顶端qt中定时器Timer的使用有两种方法实现定时器。第一种。自己建立关联。第二种。使用事件。(有点像单片机中的定时器啊)TAG:定时器  Qt  有两种方法实现定时器。第一种。自己建立关联。1.新建Gui工程,工程名可以设置为timer。并在主界面上添加一个标签label,并设置其显示内容为“0000-00-0000:00:00星期日”。2.在mainwindow.h中添加槽函数声明。privateslots:voidtimerUpDate();3.在mainwindow.cpp中添加代码。添加#include

2、ore>的头文件包含,这样就包含了QtCore下的所有文件。构造函数里添加代码:QTimer*timer=newQTimer(this);//新建定时器connect(timer,SIGNAL(timeout()),this,SLOT(timerUpDate()));//关联定时器计满信号和相应的槽函数timer->start(1000);//定时器开始计时,其中1000表示1000ms即1秒4.然后实现更新函数。voidMainWindow::timerUpDate(){QDateTimetime=QDateTime::curr

3、entDateTime();//获取系统现在的时间QStringstr=time.toString("yyyy-MM-ddhh:mm:ssdddd");//设置系统时间显示格式ui->label->setText(str);//在标签上显示时间}5.运行程序,效果如下。第二种。使用事件。(有点像单片机中的定时器啊)1.新建工程。在窗口上添加两个标签。2.在main.cpp中添加代码,实现中文显示。#includeQTextCodec::setCodecForTr(QTextCodec::codecForLo

4、cale());3.在mainwindow.h中添加代码。voidtimerEvent(QTimerEvent*);4.在mainwindow.cpp中添加代码。添加头文件#include在构造函数里添加以下代码。startTimer(1000);//其返回值为1,即其timerId为1startTimer(5000);//其返回值为2,即其timerId为2startTimer(10000);//其返回值为3,即其timerId为3添加了三个定时器,它们的timerId分别为1,2,3。注意,第几个定时器的返回值

5、就为几。所以要注意定时器顺序。在下面添加函数实现。voidMainWindow::timerEvent(QTimerEvent*t)//定时器事件{switch(t->timerId())//判断定时器的句柄{case1:ui->label->setText(tr("每秒产生一个随机数:%1").arg(qrand()%10));break;case2:ui->label_2->setText(tr("5秒后软件将关闭"));break;case3:qApp->quit();break;//退出系统}} 这里添加了三个定时器,并都

6、在定时器事件中判断它们,然后执行相应的功能。这样就不用每个定时器都写一个关联函数和槽函数了。  随机数的实现:上面程序中的qrand(),可以产生随机数,qrand()%10可以产生0-9之间的随机数。要想产生100以内的随机数就%100。以此类推。但这样每次启动程序后,都按同一种顺序产生随机数。为了实现每次启动程序产生不同的初始值。我们可以使用qsrand(time(0));实现设置随机数的初值,而程序每次启动时time(0)返回的值都不同,这样就实现了产生不同初始值的功能。我们将qsrand(time(0));一句加入构造函数

7、里。(buptyoyo)-在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器;一种是使用QTimer类。定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度。■、QObject类的定时器QObject是所有Qt对象的基类,它提供了一个基本的定时器。通过QObject::startTimer(),可以把一个一毫秒为单位的时间间隔作为参数来开始定时器,这个函数返回一个唯一的整数定时器的标识符。这个定时器开始就会在每一个时间间隔"触发",直到明确的使用这个定时器的标识符来调用QObject::killTime

8、r()结束。当定时器触发时,应用程序会发送一个QTimerEvent。在事件循环中,处理器按照事件队列的顺序来处理定时器事件。当处理器正忙于其它事件处理时,定时器就不能立即处理。QObject类还提供定时期的功能。与定时器相关的成员函数有:star

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。