2016-11-09 79 views
0

我想在Qt中聽WindowStateChangeEvent s。當我有以下實現時,它永遠不會達到statechangeEvent從來沒有用WindowStateChange調用

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

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

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

設置在if它只是變得以下事件類型的斷點:

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

有沒有得到報道的窗口事件所需的任何額外的步驟?

回答

0

所以好像WindowStateChangeEvent沒有傳播給孩子。

因此,您可以在QFooWindow中使用上述代碼。 可悲的是,當試圖sendEvent進一步給所有的孩子,它崩潰。

相關問題