2

Qtイベントの一般的な使用法についていくつか質問があります。Qtは初めてですが、カスタムイベントを作成してみます。私が尋ねる質問は、この記事に関連しています:Qt 4.8:イベントシステム

  • イベントはいつ「発生」しますか?
    Qtの組み込みイベントでは、マウスのクリックとキーの押下がキューに入れられ、次のフレームで関数が実行されます。マウスがクリックされたときに常に発生するかどうかわからないため、カスタムイベントの場合は特にこれについて疑問に思っています。カスタムイベントの場合、イベントをキューに送信し、次のフレームでevent()関数によって処理されるのを待つときですか?

  • カスタムイベントを作成するには、QEventから継承するクラスを作成し、registerEventType()関数でイベントを登録する必要がありますか?
    これは標準的なプロセスですか、それともイベントを単にクラスにすることができますか?この関数registerEventType()はどのように機能しますか?

  • カスタムイベントにはQEvent::Typeがありますか?
    これは、registerEventType()関数を使用するときに指定される1000〜6563の数値ですか?

  • イベントの受信者は何ですか?
    postEvent()、sendEvent()などの関数のパラメーターにあるようです。しかし、このオブジェクトが何のためにあるのかわかりません。

  • イベントが発生したときに実行される実際のコードはどこにありますか?
    それは関数ですか、それともQObjectsのevent()関数にありますか。


また、Qtイベント(組み込みまたはカスタムの両方)の実際の動作例も役立ちます。

4

1 に答える 1

0

オンラインまたはQtSDKでQtのを見る必要があります。それらはたくさんあります。あなたが一生懸命検索しなかったIMO。

Ad.1。これは、QApplication :: postEvent()またはQApplication :: sendEvent()を使用して起動した後に発生します。もちろん、すぐにではありません。メインループなどを通過する必要があるためです。ただし、イベントの順序は保持する必要があります。

Ad.2。これを見てください、2番目の答え。

Ad.3。Ad.2に移動します。

Ad.4。このオブジェクトは、QObject :: customEvent()ハンドラーでこのカスタムイベントを受け取ります。

Ad.5。Ad.4に進みます。

于 2012-09-23T09:26:47.573 に答える