您好,欢迎访问三七文档
基于ARM系统的设计与开发广州学院广东科学技术职业学院定时器实现1、QT的定时器实现和产生随机数产生随机数2、基于ARM系统的设计与开发广州学院广东科学技术职业学院主要的任务一、定时器的实现:使用定时器实现当前时间的显示(或自动关闭窗口等等)二、随机数的实现:每隔一秒产生一个不同的随机数。基于ARM系统的设计与开发广州学院广东科学技术职业学院一.定时器的实现1)、自己建立关联:时间到,执行什么动作,使用connect函数进行2)、使用事件:时间到,要执行timerEvent,只要实现此函数。基于ARM系统的设计与开发广州学院广东科学技术职业学院第一种自己建立关联1.新建Gui工程,工程名可以设置为timer。并在主界面上添加一个标签label,并设置其显示内容为“0000-00-0000:00:00星期日”。基于ARM系统的设计与开发广州学院广东科学技术职业学院2.在mainwindow.h中添加槽函数声明。privateslots:voidtimerUpDate();基于ARM系统的设计与开发广州学院广东科学技术职业学院3.在mainwindow.cpp中添加代码添加#includeQtCore的头文件包含,这样就包含了QtCore下的所有文件。在构造函数里添加代码:QTimer*timer=newQTimer(this);//新建定时器connect(timer,SIGNAL(timeout()),this,SLOT(timerUpDate()));//关联定时器计满信号和相应的槽函数timer-start(1000);//定时器开始计时,其中1000表示1000ms即1秒基于ARM系统的设计与开发广州学院广东科学技术职业学院4.然后实现更新函数voidMainWindow::timerUpDate(){QDateTimetime=QDateTime::currentDateTime();//获取系统现在的时间QStringstr=time.toString(“yyyy-MM-ddhh:mm:ssdddd”);//设置系统时间显示格式ui-label-setText(str);//在标签上显示时间}基于ARM系统的设计与开发广州学院广东科学技术职业学院5.运行程序,效果如下基于ARM系统的设计与开发广州学院广东科学技术职业学院第二种使用事件想想使用事件,如何实现时钟的跳动?1.新建工程。在窗口上添加两个标签。基于ARM系统的设计与开发广州学院广东科学技术职业学院2.在main.cpp中添加代码,实现中文显示#includeQTextCodecQTextCodec::setCodecForTr(QTextCodec::codecForLocale());基于ARM系统的设计与开发广州学院广东科学技术职业学院3.在mainwindow.h中添加代码voidtimerEvent(QTimerEvent*);基于ARM系统的设计与开发广州学院广东科学技术职业学院4.在mainwindow.cpp中添加代码添加头文件#includeQtCore在构造函数里添加以下代码。startTimer(1000);//其返回值为1,即其timerId为1startTimer(5000);//其返回值为2,即其timerId为2startTimer(10000);//其返回值为3,即其timerId为3添加了三个定时器,它们的timerId分别为1,2,3。注意,第几个定时器的返回值就为几。所以要注意定时器顺序。基于ARM系统的设计与开发广州学院广东科学技术职业学院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;//退出系统}}基于ARM系统的设计与开发广州学院广东科学技术职业学院任务二随机数的实现:上面程序中的qrand(),可以产生随机数,qrand()%10可以产生0-9之间的随机数。要想产生100以内的随机数就%100。以此类推。但这样每次启动程序后,都按同一种顺序产生随机数。为了实现每次启动程序产生不同的初始值。我们可以使用qsrand(time(0));实现设置随机数的初值,而程序每次启动时time(0)返回的值都不同,这样就实现了产生不同初始值的功能。我们将qsrand(time(0));一句加入构造函数里。基于ARM系统的设计与开发广州学院广东科学技术职业学院2.程序最终运行效果如下
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:QT-绘制简单图形
链接地址:https://www.777doc.com/doc-3259119 .html