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() を使用して取得できます。
このクラスのオブジェクトはコピーすることはできませんが、移動(move)は可能です。そのため、std::vector など、移動専用型をサポートするコンテナに格納することで、基本タイマーのリストを管理することができます。
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 として残します。
isActive() およびswap()も参照してください 。
[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.