본문 바로가기
Development/QT

QT Timer 사용 및 특성

by qWooWp 2021. 6. 7.
반응형

헤더 파일에 선언하는 것 2개 

private slots:
    void DoTimerCB(); // 타이머가 사용할 콜백 함수 

private:
    QTimer *m_Timer; // 타이버 변수 

 

소스 파일에 선언하는 코드 

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

	// 타이머 생성 및 콜백함수 (시그널 등록), 타이머 시작
    m_Timer = new QTimer(parent);
    connect(m_Timer, SIGNAL(timeout()), this, SLOT(DoTimerCB()));
    m_Timer->start(3000);
}

// 콜백 시 동작 
void MainWindow::DoTimerCB()
{
    qDebug() << "Timer DB CALLED" << QDateTime::currentDateTime();
    m_Timer->start(3000);
}

// 테스트 기능 : 정상적으로 돌아가는 타이머에 중간에 다시 start 로 중복할 경우 어떻게 될까?
void MainWindow::on_pushButton_clicked()
{
    m_Timer->start(3000);
}

 

사실 Timer 사용 법이지만 중간에 start 를 다시 또 호출하게 되면 Timer 시간이 reset 되는 것이 중요하다. 

반응형

댓글