Qt中提供了QTimer计时器,可以单次或者多次触发,当计时结束的时候利用connect()函数可以触发自己想要的函数,具体实现如下:
创建定时器,并且和计时结束之后发射的槽函数信号连接起来:
QTimer *timer = new QTimer;
connect(timer,SIGNAL(timeout()),this,SLOT(func1()));//当计时器结束之后timeout函数触发自己的func1函数
运行和停止:
timer->start(10000);//开始计时器,设置时间超时值为10秒
//停止计时器
if(timer->isActive())
timer->stop();
所以想运行一个QTimer是很容易的。
但是我在写一个QTimer的时候遇到了一些问题。我希望测试一下QTimer,在一个界面上面点击开始计时按钮,便每隔0.5秒输出 “正在运行” 。 同时就在这个界面中,启动一个定时器,10秒之后输出“延时器输出!”
具体的代码如下:
头文件:
#ifndef VIDEO_H
#define VIDEO_H
#include <QDialog>
#include <QTimer>
#include <QtConcurrent/QtConcurrentRun>
namespace Ui