このページでは

C

Qul::Timer Class

class Qul::Timer

繰り返しタイマーや単発タイマーを実行する方法を提供します。詳細...

Header: #include <qul/timer.h>
Since: Qt Quick Ultralite 1.0

パブリック関数

Timer(int interval = 0)
virtual ~Timer() override
int interval() const
bool isActive() const
bool isSingleShot() const
void onTimeout(const FuncArg &f)
void setInterval(int msec)
void setSingleShot(bool singleShot)
void start()
void start(int msec)
void stop()

詳細な説明

C++11のラムダを用いた例:

Qul::Timer timer;
timer.onTimeout([]() { printf("triggered\n"); });
timer.start(1000); // will trigger every second

ファンクタを使用した例:

struct Functor {
    void operator()() { printf("triggered\n"); }
};

Qul::Timer timer;
timer.onTimeout(Functor());
timer.setSingleShot(true);
timer.start(60000); // trigger once in a minute

QMLオブジェクトでの例:

struct MinuteCounter : Qul::Object
{
    Qul::Property<int> minutes;

    void start() {
        _countMinutes.onTimeout([this]() { minutes.set(minutes.get() + 1); });
        _countMinutes.start(60000);
    }
private:
    Qul::Timer _countMinutes;
};

メンバ関数のドキュメント

[explicit] Timer::Timer(int interval = 0)

新しいタイマーをインスタンス化します。

interval (デフォルト:0)を指定できます。タイマーのデフォルトの動作は繰り返しです。setSingleShot (true)を使用すると、1回のみトリガーされます。

タイマーは自動的に開始されません。start() を使用して開始してください。

[override virtual noexcept] Timer::~Timer()

タイマーを自動的に停止します

int Timer::interval() const

区間を返します

setIntervalも参照してください

bool Timer::isActive() const

タイマーが実行中(保留中)の場合は true を返し、そうでない場合は false を返す

bool Timer::isSingleShot() const

シングルショットタイマーの場合は `True ` を返し、それ以外の場合は `False ` を返します。

setSingleShotも参照してください

template <typename FuncArg> void Timer::onTimeout(const FuncArg &f)

呼び出し可能なオブジェクトをコールバックとして設定します。

引数f は、ラムダ式やstd::function、あるいはoperator()を持つ任意の構造体など、呼び出し可能なオブジェクトでなければなりません。

これは、タイマーがトリガーされるたびに呼び出されます。

この関数を複数回呼び出した場合、最後のコールバックのみが有効なままとなります。

start およびsetSingleShotも参照してください

void Timer::setInterval(int msec)

タイムアウト間隔をミリ秒単位でmsec

アクティブなタイマーの間隔を設定しても、次のイベントは変更されません。

intervalも参照してください

void Timer::setSingleShot(bool singleShot)

タイマーがsingleShot タイマーであるかどうかを設定します。

シングルショットタイマーは1回のみ作動し、シングルショット以外のタイマーはinterval ミリ秒ごとに作動します。

デフォルト値はFalse です。

isSingleShot」も参照してください

void Timer::start()

タイマーを開始または再開する

タイマーがすでに動作中の場合は、一旦停止してから再起動されます。

singleShot が true の場合、タイマーは 1 回だけ起動されます。

stopも参照してください

void Timer::start(int msec)

タイムアウト間隔を msec ミリ秒に設定して、タイマーを開始または再開します

タイマーがすでに動作中の場合は、一旦停止してから再起動されます。

singleShot が true の場合、タイマーは 1 回だけ作動します。

stopも参照してください

void Timer::stop()

タイマーを停止します。

startも参照してください

特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。