Qt 之定时器(QTimer)详解

Qt 之定时器(QTimer)详解

 

简述

QTimer类提供了定时器信号和单触发定时器。

它在内部使用定时器事件来提供更通用的定时器。QTimer很容易使用:创建一个QTimer,使用start()来开始并且把它的timeout()连接到适当的槽。当这段时间过去了,它将会发射timeout()信号。

注意当QTimer的父对象被销毁时,它也会被自动销毁。

 

代码测试(内有详细注释)

 

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    m_timer = new QTimer;
    //connect(m_timer,SIGNAL(timeout()),this,SLOT(slot_timeOut()));
    m_timer->start(10000);
    //****************QTimer属性***************************
    //单次触发下,定时器超时后是不活跃的;非单次触发下为活跃。
    //当然,不论什么条件,stop()后自然为不活跃
    qDebug()<isActive();

    //当前时间间隔为10000毫秒 = 10秒
    qDebug()<interval();

    //非单次触发会造成定时器每10秒一个间隔不断循环
    m_timer->setSingleShot(false);
    qDebug()<isSingleShot();

    qDebug()<timerType();
    qDebug()<isActive();
    qDebug()<

你可能感兴趣的:(QT)