2011-09-14 6 views
0

私はwindowStateChangeイベントを処理するQWidget :: event()ハンドラを再実装しました。私は、どのウィジェットがこのイベントを送信するかを特定する方法があるかどうか疑問に思っていました。QEvent送信側を識別する方法

答えて

0

このイベントは、ウィンドウが最小化、最大化またはフルスクリーン化されたときに生成されるため、適用するウィジェット内からのみ表示する必要があります。

+0

問題は次のとおりです。私はPhonon :: VideoWidgetをMainWindowのレイアウトの1つに持っています。 MainWindowが全画面モードで再生が停止されるたびに、MainWindowは全画面表示を終了します。私は、MainWindowをNoStateに戻すために何もしていないので、困惑しています。 Phonon:VideoWidgetがこれで何かをしなければならないのだろうか? – Neox

+0

私は参照してください。そのウィジェットのフルスクリーンモードに関する文書はほとんどありません。私はそれが非常に機能的ではない便利な機能であるという印象を受け、より複雑なやりとりのためには、フルスクリーンの実装を手動で管理する必要があると言及しています。 –

0

いいえ、QEventを送信または送信するためにQObjectインスタンスが必要ないため、これを行う方法はありません。イベントを投稿すると、静的なQCoreApplicationメソッドを介してイベントが送信され、誰がイベントを送信しているかは確認されません。なぜなら、Qtと他のイベントドリブンコードとの相互運用の便利な方法は、イベント変換を行い、事象をQt側にポストすることであるから、逆効果になるだろう。転記コードは、extern "C"関数であってもよい。

関連する問題