[180511]基于QTime类和QTimer类实现的计时器
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,计时器首先上图界面构建主要是lcdnumber 和textbrowser首先实现计时功能,要用到QTime类。QTime类基础函数QTime(int h, int m, int s = 0, int
千家信息网最后更新 2025年02月02日[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安全错误
数据库的锁怎样保障安全
国外服务器加速器
动车视频软件开发
泰拉瑞亚进不去服务器该怎么办
宁波软件开发客户至上
关于网络安全专业
齐齐哈尔建华区网络安全宣传
服务器安全事故报告
服务器一般用几年
零点科技软件开发
政务系统维护与网络安全
小学生我与网络安全微视频
锐捷嵌入式软件开发平台招聘
黑龙江电信代理服务器云主机
互联网新产品科技资讯
育碧什么软件开发游戏的
鼓楼区网络安全教育
阿里自研数据库名字
达内教育网络安全
网络安全国安局
电脑数据库怎么分离
北京狂人网络技术有限公司
江苏海岸线互联网科技待遇
在哪里找软件的服务器
网络安全防范手抄报图片
数据库设计报告江西科技学院
文摘索引数据库
数据库已存在房租信息
数据库sql分页查询
政务系统维护与网络安全
网络图绘制软件开发