QBasicTimer Class
QBasicTimer 클래스는 객체에 대한 타이머 이벤트를 제공합니다. 더 보기...
| 헤더: | #include <QBasicTimer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 상속된 멤버를 포함한 모든 멤버 목록
- 사용 중단된 멤버
- QBasicTimer는 이벤트 클래스의 일부입니다.
공개 유형
공개 함수
| QBasicTimer() | |
| QBasicTimer(QBasicTimer &&other) | |
| ~QBasicTimer() | |
(since 6.8) Qt::TimerId | id() const |
| bool | isActive() const |
(since 6.5) void | start(QBasicTimer::Duration duration, QObject *object) |
(since 6.5) void | start(QBasicTimer::Duration duration, Qt::TimerType timerType, QObject *obj) |
| void | stop() |
| void | swap(QBasicTimer &other) |
| QBasicTimer & | operator=(QBasicTimer &&other) |
관련 비멤버
| void | swap(QBasicTimer &lhs, QBasicTimer &rhs) |
상세 설명
이 클래스는 Qt 내부에서 사용되는 빠르고, 가볍고, 저수준의 클래스입니다. 애플리케이션에서 타이머를 사용하려는 경우, 이 클래스보다는 더 높은 수준의 QTimer 클래스를 사용하는 것이 좋습니다. 이 타이머는 stop() 함수가 호출되지 않는 한 후속 타이머 이벤트를 계속 전송하는 반복 타이머라는 점에 유의하십시오.
이 클래스를 사용하려면 QBasicTimer를 생성하고, 타임아웃 간격과 QObject 하위 클래스에 대한 포인터를 전달하여 start() 함수를 호출하십시오. 타이머가 타임아웃에 도달하면 QObject 하위 클래스로 타이머 이벤트를 전송합니다. stop()을 사용하여 언제든지 타이머를 중지할 수 있습니다. isActive()는 실행 중인 타이머(즉, 시작되었고, 타임아웃 시간에 도달하지 않았으며, 중지되지 않은 타이머)에 대해 true 를 반환합니다. 타이머의 ID는 timerId()를 사용하여 가져올 수 있습니다.
이 클래스의 객체는 복사할 수 없지만 이동은 가능하므로, std::vector와 같이 이동 전용(move-only) 유형을 지원하는 컨테이너에 기본 타이머를 보관하여 목록을 관리할 수 있습니다.
QTimer, QChronoTimer, QTimerEvent, QObject::timerEvent(), Timers 및 Affine Transformations도 참조하십시오 .
멤버 유형 문서
[alias] QBasicTimer::Duration
이 클래스의 다양한 API에서 사용되는 ` std::chrono::duration ` 타입입니다. 이 타입은 더 세분화되거나 더 뭉뚱그려진 단위로의 전환을 용이하게 하기 위해 존재합니다.
현재 모든 플랫폼에서 이 타입은 nanoseconds 입니다.
멤버 함수 문서
[constexpr noexcept] QBasicTimer::QBasicTimer()
기본 타이머를 생성합니다.
start()도 참조하십시오 .
[noexcept] QBasicTimer::QBasicTimer(QBasicTimer &&other)
other 에서 기본 타이머를 생성하여, inactive 로 남깁니다.
[noexcept] QBasicTimer::~QBasicTimer()
기본 타이머를 삭제합니다.
[noexcept, since 6.8] Qt::TimerId QBasicTimer::id() const
타이머의 ID를 반환합니다.
이 함수는 Qt 6.8에서 도입되었습니다.
QTimerEvent::id()도 참조하십시오 .
[noexcept] bool QBasicTimer::isActive() const
타이머가 실행 중이고 중지되지 않은 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
[since 6.5] void QBasicTimer::start(QBasicTimer::Duration duration, QObject *object)
duration 타임아웃을 적용하여 타이머를 시작(또는 재시작)합니다. 이 타이머는 Qt::CoarseTimer 유형이 됩니다. 다양한 타이머 유형에 대한 정보는 Qt::TimerType 을 참조하십시오.
지정된 object 는 타이머 이벤트를 수신합니다.
Qt 6.10부터는 음수의 간격을 설정하면 런타임 경고가 발생하고 값이 1ms로 재설정됩니다. Qt 6.10 이전에는 Qt Timer에서 음수 간격을 설정할 수 있었지만, 예상치 못한 방식으로 동작했습니다(예: 실행 중이던 타이머가 중지되거나 아예 시작되지 않는 경우 등).
참고: Qt 6.9부터 이 메서드는 std::chrono::nanoseconds를 받으며, 그 이전에는 std::chrono::milliseconds를 받았습니다. 이 변경 사항은 하위 호환성을 유지합니다.
이 함수는 Qt 6.5에서 도입되었습니다.
stop(), isActive(), QObject::timerEvent() 및 Qt::CoarseTimer도 참조하십시오 .
[since 6.5] void QBasicTimer::start(QBasicTimer::Duration duration, Qt::TimerType timerType, QObject *obj)
duration 타임아웃과 지정된 timerType 값을 사용하여 타이머를 시작(또는 재시작)합니다. 다양한 타이머 유형에 대한 정보는 Qt::TimerType 을 참조하십시오.
Qt 6.10부터는 음수의 간격을 설정하면 런타임 경고가 발생하고 값이 1ms로 재설정됩니다. Qt 6.10 이전 버전에서는 Qt Timer에 음수 간격을 설정할 수 있었지만, 예상치 못한 방식으로 동작했습니다(예: 타이머가 실행 중일 경우 중지되거나 아예 시작되지 않는 등).
obj 는 타이머 이벤트를 수신합니다.
참고: Qt 6.9부터 이 메서드는 std::chrono::nanoseconds를 받으며, 그 이전에는 std::chrono::milliseconds를 받았습니다. 이 변경 사항은 하위 호환성이 보장됩니다.
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.5에서 도입되었습니다.
stop(), isActive(), QObject::timerEvent() 및 Qt::TimerType도 참조하십시오 .
void QBasicTimer::stop()
타이머를 중지합니다.
start() 및 isActive()도 참조하십시오 .
[noexcept] void QBasicTimer::swap(QBasicTimer &other)
이 타이머를 other 로 교체합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.
[noexcept] QBasicTimer &QBasicTimer::operator=(QBasicTimer &&other)
other 를 이 기본 타이머에 할당합니다. 이전에 이 기본 타이머가 나타내던 타이머는 중지됩니다. other 는 inactive 로 유지됩니다.
관련 비회원
[noexcept] void swap(QBasicTimer &lhs, QBasicTimer &rhs)
lhs 타이머를 rhs 타이머와 교체합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.