QT实现简单计时器

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

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

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

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

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

QT实现简单计时器_第1张图片

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

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

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

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

第四步:程序编写

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

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

#include 
#include 
 
QTimer *timer;    
QTime   time;

QT实现简单计时器_第2张图片

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

#include 
#include  

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"));
}

QT实现简单计时器_第3张图片

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

timer->start(1000);

timer->stop();

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

 

QT实现简单计时器_第4张图片

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

第五步:运行

运行效果如下

QT实现简单计时器_第5张图片

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

 

 

 

你可能感兴趣的:(qt)