QElapsedTimer는 Qt 4.7부터 도입된 클래스로, 두 이벤트 사이의 경과 시간을 빠르게 측정할 수 있도록 설계되었습니다. QTime과 유사한 API를 제공하지만, 가능한 경우 단조(monotonic) 시계를 사용한다는 점에서 더 정확하고 안정적인 시간 측정이 가능합니다.
주요 특징
- 빠른 시간 측정: 밀리초 단위로 경과 시간을 측정할 수 있습니다.
- 단조 시계 사용: 시스템 시간이 변경되어도(예: 사용자 수동 조정) 영향을 받지 않습니다.
- 사람이 읽을 수 있는 시간으로 변환 불가: QElapsedTimer는 디버깅이나 성능 측정용으로 적합하며, 시각 표시에는 적합하지 않습니다.
QElapsedTimer timer;
timer.start();
// 시간 소모가 큰 작업
slowOperation();
qDebug() << "작업 소요 시간:" << timer.elapsed() << "ms";
유용한 메서드
- start(): 타이머 시작
- elapsed(): 시작 이후 경과 시간(ms)
- restart(): 경과 시간을 반환하고 타이머를 다시 시작
- hasExpired(qint64 timeout): 지정한 시간(ms)이 지났는지 확인
QElapsedTimer timer;
timer.start();
while (!timer.hasExpired(1000)) {
doSomething(); // 1초 동안 반복
}
이 클래스는 성능 측정, 타임아웃 제어, 반복 작업 제한 등 다양한 상황에서 유용하게 쓰입니다.
LIST
'QT and Symbian' 카테고리의 다른 글
QT v4.x 기반 TcpClient 예제 (0) | 2025.06.30 |
---|---|
QT v4.x 기반 TcpServer 예제 (0) | 2025.06.30 |
싱글샷 타이머 사용 (0) | 2025.06.30 |
QT v4.x를 기반으로 startTimer, killTimer 예제 (0) | 2025.06.30 |
QT v4.x Queue 사용 (0) | 2025.06.30 |