QT实现简单计时器_qt 计时器-程序员宅基地

技术标签: qt  

最近学习QT相关知识,利用QT设计相关界面,然后想在当中加入一个小功能,那就是简单的计时器。但是在查找资料的过程发现并没有简洁易懂的方法,所以在我综合各种资料学习过后,用比较简单的方法就实现了简单的计时器功能,只有开始,暂停,重置这几个功能,当然,毕竟是简单的计时器嘛,如果需要加其他功能可以自行添加。下面开始我们的制作,,,,,

第一步:创建好自己的工程

创建工程等工作这里就不多说了,自己实现,,,,,

第二步:在ui界面进行界面布局

自己对界面进行布局,加入几个button,以及一个label,布局看个人喜好,我的布局大致如下

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-u6ZObODk2,size_20,color_FFFFFF,t_70,g_se,x_16

第三步:把三个按键转到槽

按键转到槽会在你的.cpp中生成函数,例如:void Formds::on_pushButton_clicked()。

生成按钮槽函数时记得做好标注,以免等下忘记哪个是哪个。

OK,此时我们就可以进行程序的编写了

第四步:程序编写

因为是计时器,这就涉及了QT的定时器方面知识,我们用QTimer类。

1.在.h文件中加入如下代码

#include <QTimer>
#include <QTime>
 
QTimer *timer;    
QTime   time;

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-u6ZObODk2,size_20,color_FFFFFF,t_70,g_se,x_16

 2.在.cpp文件中加入下面代码,如图所示

#include <QTimer>
#include <QTime> 

time.setHMS(0,0,0,0);//设置初始值   
timer = new QTimer(this);//创建一个定时器   
connect(timer, SIGNAL(timeout()), this, SLOT(update()));//手动连接槽函数
这里我们需要自己写一个槽函数
void Formds::update()
{    
        static quint32 time_out=0;    
        time_out++;    
        time=time.addSecs(1);  
        ui->label->setText(time.toString("hh:mm:ss"));
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-u6ZObODk2,size_20,color_FFFFFF,t_70,g_se,x_16

 在按键的槽函数里面加入以下代码,如图所示

timer->start(1000);

timer->stop();

timer->stop();     
time.setHMS(0,0,0,0);    
ui->label->setText(time.toString("hh:mm:ss"));

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-u6ZObODk2,size_20,color_FFFFFF,t_70,g_se,x_16

 这样,简单的计时器就做好了,,,,,,

第五步:运行

运行效果如下

8d223dfa4aec4db791204e6a970b5756.gif

我也是刚学习的小白 ,如果哪里有讲错的希望大家指正,欢迎大家留言评论,,,,

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_56446802/article/details/124041836

智能推荐

springboot解析自定义yml_spring boot自定义yml键-程序员宅基地

文章浏览阅读850次。springboot解析自定义yml在实际项目开发中我们经常需要用到一些自定义配置,并且希望单独配置,方便维护,现在介绍下方式:方式一手动加载对于一些不变动的配置,写死在项目中维护,如下然后在启动类中加载该配置‘’’public class AAApplication { public static void main(String[] args) { Spr..._spring boot自定义yml键

Effective C++学习笔记_effective c++ 学习笔记-程序员宅基地

文章浏览阅读503次。Effective C++学习笔记1.让自己习惯使用C++条款01:视c++为一个语言联邦条款02:尽量以const,enum,inline来替换#define功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数..._effective c++ 学习笔记

对qps、tps、rt、并发数、吞吐量、限流、熔断和降级的了解_rt 限流-程序员宅基地

文章浏览阅读1.3k次。在10.24晚上8点时双十一大促预售,看到流量监控的大屏上总会出现QPS、RT的信息,并且在某些服务调用超时或时间较长时,总会听到师兄说对他进行一个降级,所以这里进行一个归纳。在系统访问量激增,大量请求涌进来时,如果调用的某些第三方接口老是超时或是失败又或者是很慢,_rt 限流

android六大布局和UI组件_android:layout_row-程序员宅基地

文章浏览阅读8.9k次,点赞11次,收藏64次。一:android之六大布局1、在4.0以前版本中一共有五种布局,都是ViewGroup的子类。分别是AbsoluteLayout、RelativeLayout、LinearLayout、(FrameLayout)、TableLayout。而TableLayout是LinearLayout的子类。(中文分别是:绝对布局、相对布局、线性布局、帧布局、表格布局)。2、在2.2操作系_android:layout_row

工作周报_工作周报关键问题/风险-程序员宅基地

文章浏览阅读5.6k次,点赞2次,收藏7次。5月28日—6月1日本周工作内容:1, 完成新接口获取设备状态的验证联调 2, 明确TalkClinet插件事件上报和回调机制的实现 3, 解决插件崩溃问题的定位和排查[dump文件] 4, 定位TTS GetOutputStream在服务器上运行时失败的问题 下周工作计划:1, 完成设备状态转换代码开发和联调 2, 熟悉监舍点名功能项目的需求、整体架..._工作周报关键问题/风险

C编程实现转换字符串、插入字符的个数_void string_trans(char *str)-程序员宅基地

文章浏览阅读88次。#include <stdlib.h>#include <stdio.h>#include <string>char* transfromion(char* str){ int len = strlen(str); char* buffer = new char[len + 1]; char* p = str; char* q = p + 1..._void string_trans(char *str)

随便推点

什么是中台(个人理解)-程序员宅基地

文章浏览阅读7.4w次,点赞8次,收藏21次。中台是一套结合互联网技术和行业特性,将企业核心能力以共享服务中心进行沉淀,形成“大中台、小前台”的组织和业务机制,供企业快速低成本的进行业务创新的企业架构;最近看到了好多回复,感觉到了大家对中台的兴趣,这里再多说两句吧1、中台提倡的是大中台小前台的模式,简单点说就是核心+共用的逻辑全部可以抽象在中台中实现,前台(例如售卖、展示等)由于渠道众多,因此这一块越小就越灵活,上线及变更时间就越短。...

PyTorch模型训练的几个加速技巧-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏5次。这里尝试一下网上找到pyorch模型训练加速技巧,尝试一下,看看加速的效果,然后尽可能分析一下加速在哪个地方。1.有时我们会发现,使用Pytorch的模型,训着训着,越来慢了或者outofmemory,这时我们该怎么解决呢? 主要是因为,模型可能在不断的产生临时变量,这个时候,我们可以设置程序每隔多少次进行一次清除操作:torch.cuda.empty_cache()2.在数据读取速度不变的情况下,怎样进一步提高模型的训练速度呢? PyTorch 会默认使用 cuDNN 加速,并且c

系统进入登陆界面就重启-程序员宅基地

文章浏览阅读781次。在启动界面就蓝屏,最有可能的就是WINLOGON进程的原因,可能在进程里插入了一些未知线程,例如病毒等,最好的方法是重装,系统很可能染毒了,最近MPEG-2的0day漏洞很猖狂的,还不好防,趁现在还能进系统,把有用的文件拷出来,不然等病毒破坏了安全模式,再搞可就要麻烦点了 回答者: woiask - 经理 四级 2009-7-7 17:15应该是系统文件丢失了,突然..._windows登陆后自动重启

树莓派安装linux-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏6次。1、ubuntu官方操作 参考:https://ubuntu.com/tutorials/how-to-install-ubuntu-desktop-on-raspberry-pi-4#1-overview2、一般操作_树莓派安装linux

nodejs ssh2 shell函数发送命令不成功的问题_nodejs ssh2 no response from server-程序员宅基地

文章浏览阅读2.9k次。在使用nodejs ssh2的shell函数时,我们用conn.write和conn.end发送命令,经常会遇到命令发送不过去的情况,我自己也遇到这种情况,纠结了很久,最后把write,end发送命令的代码,放在接收到第一个data事件之后去发送,就不会出现这种发不过去的情况了。后来咨询了一下写nodejs ssh2代码的作者,才知道当建立stream连接后,数据的缓冲区可能没有准备好,如果此时对缓_nodejs ssh2 no response from server

C语言:对象继承之多继承_c语言面向对象多继承-程序员宅基地

文章浏览阅读1.1k次。继承除了public继承,还包括private继承和多继承。把派生类中的父类成员改成指针形式的前向声明即可实现private继承。多继承即派生类会有一个以上的基类,多继承实现和单继承本质上无太大差异,但是最关键的是父类和派生子类相互转换的偏移量,这是虚函数和数据成员导致的,采用类似MFC消息映射的原理定义多继承的子类和父类的关系映射最终实现子类和父类的相关转换。_c语言面向对象多继承

推荐文章

热门文章

相关标签