2016-11-09 7 views
0

QtでWindowStateChangeEventを受信しようとしています。次の実装があると、stateに決して到達しません。それだけで以下のタイプのイベントを取得ifにブレークポイントを設定changeEventはWindowStateChangeで呼び出されません

void 
FooWidget::changeEvent(QEvent* e) { 
    BaseWidget::changeEvent(e); 

    if (e->type() != QEvent::WindowStateChange) 
     return; 

    auto state = static_cast<QWindowStateChangeEvent*>(e); 

QEvent::StyleChange 
QEvent::ParentChange 
QEvent::LocaleChange 

を報告したウィンドウイベントを取得するために必要な追加のステップがありますか?

答えて

0

だから、WindowStateChangeEventは子供に伝播していないようです。

したがって、QFooWindowで上記のコードを使用することができます。 悲しいことに、すべての子どもたちにさらにsendEventを送信しようとすると、クラッシュします。

関連する問題