[180511]基于QTime类和QTimer类实现的计时器
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,计时器首先上图界面构建主要是lcdnumber 和textbrowser首先实现计时功能,要用到QTime类。QTime类基础函数QTime(int h, int m, int s = 0, int
千家信息网最后更新 2024年11月23日[180511]基于QTime类和QTimer类实现的计时器
计时器
首先上图
界面构建主要是lcdnumber 和textbrowser
首先实现计时功能,要用到QTime类。
QTime类
基础函数
QTime(int h, int m, int s = 0, int ms = 0)//构造函数
QTime addMSecs(int ms) const //对时间进行增改当然还要相应的addSec函数int hour() const //得到当前时间的小时,同理还有minute,second,msecint elapsed() const //返回从暂停到重新开始流逝的时间int restart()和void start() //重新开始和开始,注意restart有流逝时间的返回值int msecsTo(const QTime &t) const //比较两个Qtime类的时间差值
静态成员
QTime currentTime() //获取当前时间
QTimer类(计时器)
基础函数
void start(int msec) //每多少毫秒发送一次信号void stop() //停止发送信号
信号
void timeout() //当休息时间结束时发送该信号
使用
QTimer *timer = new QTimer(this);connect(timer, SIGNAL(timeout()), this, SLOT(update()));//update()是你想要调用的函数,当然也不一定是非要this接受timer->start(1000);
实际上窗口的反复更新就是调用的Qtimer中的exec()函数来维持。但是反复更新带来了巨大的任务量,期待用线程的方式来解决(以后再谈)。
计时器分为精确型和粗糙型,但是无论是哪种计时器都依赖于它的操作系统和硬件性能。如果系统过忙不能保证计时器所有求的准确性,那么无论是哪种计时器都会发生偏差。
窗口的介绍
- LCDnumber:需要强调的是它无法获取显示的文本,如果的确需要文本,可以将它的display()函数连接一个槽函数。可以用来显示Qstring
- textbrowser:富文本编辑框,只读不可编辑。textedit类没有富文本可以编辑
功能的实现
- 点击开始键,它要能开始计时。那么我在Mainwindow的构造函数中建一个Qtime对象,来记录开始键按下瞬间计算机当前时间。当我按下暂停或者停止的时候再建立一个Qtime的对象,两个对象比较差值,差值即为记录的时间。
- 因为我做的LCD实时展示,刚开始要对LCD初始化
this->ui->lcdNumber->display("00:00:00:000");
再在Mainwindow构造函数中写一个Qtimer的对象,让LCD每毫秒更新一下时间。 - 更改一下按键上的bug:比如按下停止时不能暂停。
- 将打点的数据展示到textbrowser只需要appendText()(追加)。
- 停止时应该有一个清除键将所有打点记录清空并将LCD置零
- 暂停时暂停时间应该被剔除出去
时间
函数
计时器
信号
对象
文本
差值
更新
两个
功能
基础
系统
巨大
精确
粗糙
操作系统
上图
任务
偏差
准确性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
现代战舰游戏有国内服务器吗
世界各国网络安全标准
mkl数据库
会计软件开发课题意义
.名词解释 数据库
服务器故障远程智能告警
潍坊客户管理软件开发
深信服网络安全审计系统
宏象网络安全插画
mysql数据库插入方法
数据库缓存大小
软件开发的瀑布模型和原型模型
郑州夜魅网络技术公司
华为服务器售后招聘
二手服务器转让
软件开发俗话分为几个阶段
身份证号码数据库下载
警惕哪些网络安全隐患
北京昆仑乐享网络技术
软件开发的后台需要多少机器
app软件开发公司哪家比较好
普条和服务器条混用
软件开发中任务申请
初三学生网络安全知识
面试软件开发问题
现在哪个服务器联盟小号多
网络安全题库答案解析
学位信息上报数据库
华为服务器售后招聘
云服务器为什么这么贵