QBasicTimer 类

QBasicTimer 类提供了对象的事件计时功能。 更多...

头文件 #include <QBasicTimer>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

公共函数

QBasicTimer()
QBasicTimer(QBasicTimer &&other)
~QBasicTimer()
boolisActive() const
(since 6.5) voidstart(std::chrono::milliseconds duration, QObject *object)
(since 6.5) voidstart(std::chrono::milliseconds duration, Qt::TimerType timerType, QObject *obj)
voidstop()
voidswap(QBasicTimer &other)
inttimerId() const
QBasicTimer &operator=(QBasicTimer &&other)
voidswap(QBasicTimer &lhs, QBasicTimer &rhs)

详细说明

这是一个快速、轻量级且低级别的类,Qt 内部使用。如果你想在应用程序中使用定时器,我们建议使用更高层次的 QTimer 类,而不是这个类。注意,这个定时器是一个重复的定时器,除非调用 stop() 函数,否则会发送后续的定时器事件。

要使用这个类,创建一个 QBasicTimer,并使用超时时间和指向 QObject 子类的指针调用其 start() 函数。定时器超时后,它将向 QObject 子类发送定时器事件。可以使用 stop() 在任何时候停止定时器。 isActive() 返回 true 对于正在运行的定时器;即它已被启动,尚未达到超时时间,且未被停止。可以使用 timerId() 检索定时器的 ID。

此类的对象不能被复制,但可以移动,因此可以通过在支持移动类型(如 std::vector)的容器中持有它们,来维护基本定时器列表。

另请参阅QTimerQTimerEventQObject::timerEvent(),定时器仿射变换

成员函数文档

[constexpr noexcept] QBasicTimer::QBasicTimer()

构建基本定时器。

另请参阅 start().

[noexcept] QBasicTimer::QBasicTimer(QBasicTimer &&other)

other 移构造一个基本定时器,其中 other 被闲置。

另请参阅 isActive() 和 swap().

[noexcept] QBasicTimer::~QBasicTimer()

销毁基本定时器。

[noexcept] bool QBasicTimer::isActive() const

如果定时器正在运行且未被停止,则返回 true;否则返回 false

另请参阅 start() 和 stop().

[since 6.5] void QBasicTimer::start(std::chrono::milliseconds duration, QObject *object)

使用 duration 超时启动(或重新启动)定时器。定时器将是一个 Qt::CoarseTimer。有关不同定时器类型的信息,请参阅 Qt::TimerType

给定的 object 将接收定时器事件。

此函数自 Qt 6.5 开始提供。

另请参阅 stop(),isActive(),QObject::timerEvent() 以及 Qt::CoarseTimer

[since 6.5] void QBasicTimer::start(std::chrono::milliseconds duration, Qt::TimerType timerType, QObject *obj)

使用 duration 超时和给定的 timerType 启动(或重新启动)定时器。有关不同定时器类型的信息,请参阅 Qt::TimerType

obj 将接收定时器事件。

此函数自 Qt 6.5 开始提供。

另请参阅 stop(),isActive(),QObject::timerEvent() 以及 Qt::TimerType

void QBasicTimer::stop()

停止定时器。

另请参阅 start() 和 isActive().

[noexcept] void QBasicTimer::swap(QBasicTimer &other)

交换定时器 other 与此定时器。此操作非常快速且从不失败。

[noexcept] int QBasicTimer::timerId() const

返回定时器的 ID。

另请参阅 QTimerEvent::timerId().

[noexcept] QBasicTimer &QBasicTimer::operator=(QBasicTimer &&other)

other 移赋给此基本定时器。之前由此基本定时器表示的定时器已停止。 other 被设置为 闲置 状态。

另请参阅 stop(),isActive() 和 swap()。

相关非成员

[noexcept] void swap(QBasicTimer &lhsQBasicTimer &rhs)

交换定时器 lhsrhs。此操作非常快且永远不会失败。

© 2024 The Qt Company Ltd. 本文档中的贡献均属于其各自的拥有者。提供的文档依据自由软件基金会发布的 GNU 通用文档许可协议版本 1.3 的条款许可。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰和/或世界其他国家的 商标。所有其他商标均为其各自拥有者的财产。