2017-01-18 30 views
-1

私はQt開発を新しくして問題に直面しています。ウィジェット内に既に描画されているコンパス値を更新するupdateCompass関数を1秒ごとに呼び出す必要があります。qtウィジェットを更新する毎秒関数を呼び出す方法

私はどのように関数を呼び出すべきかを知る必要があります。

+6

QTimerを参照してください。また、私はあなたが実際にこの問題を検索しようとしたと信じることを拒否し、あなたは何も見つかりませんでした。 –

+1

@Matteo、あまりにも厳しくしないでください。 Googleに「毎秒qt」を入力すると、最初の5つのリンクのみが関連していました。おそらく、OPは、Godophileからのいくつかの奇妙な詩だったリンク6で怖がっていた:-) – paxdiablo

+1

そして、あなたは「2秒ごとに」必要なので、全く別の質問をします。 – dtech

答えて

3

Qtには、QTimer classを使用して、これを行うための具体的な方法があります。

タイマー(ワンショットまたは定期的)を作成し、timeout信号をあなたの魔法を編むために必要なスロット(機能)に接続することができます。ページをリンク実際に

は、あなたが所望の機能を実行するために使用する必要が正確コードを持っています

QTimer *timer = new QTimer(this); 
connect(timer, SIGNAL(timeout()), this, SLOT(update())); 
timer->start(1000); 

これは、課せられた制限内(1秒に1回呼び出されて、あなたのupdate機能になりますQtの精度などによって)。

1

あなたのケースの例。

QTimer *timer = new QTimer(this); 

QObject::connect(timer, SIGNAL(timeout()), this, SLOT(updateCompass())); 

timer->start(1000); 

これは毎秒updateCompass()を呼び出します。

これらのリンクが役立つ場合があります。 QTimer & Using QTimer

関連する問題