10

Qt 関数を使用して C++ で関数を定期的に呼び出すことは可能ですか?
また、定期的に呼び出されるように設定された後、時限関数を停止する方法は?

4

5 に答える 5

19

qt を使用している場合は、デフォルトで反復タイマーを作成する QTimer を使用できます。

ドキュメント (以下に示す) と例 (アナログ時計) に例があります。

QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
于 2013-05-28T07:31:48.977 に答える
2

1 つの可能性は、QTimer timeoutシグナルとQObjectスロットを使用することです。start()2つとタイマーを接続します。

http://qt-project.org/doc/qt-4.8/qtimer.html#timeout

タイマーを停止するには、 を呼び出しますstop()

于 2013-05-28T07:31:24.990 に答える
1

私の前の回答で人々が言っ​​たように、timeout() シグナルを使用して関数の実行をトリガーできます。

ある時点でタイマーを停止したい場合は、stop() スロットに接続するか、自分で直接呼び出すことができます。

于 2013-05-28T08:26:16.347 に答える
1

QTimerクラスを使用できます。

QTimer目的の時間間隔でa を宣言し、関数をスロットとして a にラップし、宣言したスロットにの信号をQObject接続するだけです。QTimertimeout()

次に、関数の呼び出しを停止する条件が満たされたときに、 を呼び出すだけQTimer::stop()です。

于 2013-05-28T07:31:42.910 に答える