ChangeEvent блокирует QMDISubWIndow - PullRequest
       0

ChangeEvent блокирует QMDISubWIndow

0 голосов
/ 13 января 2020

В моем приложении я использую QMDIArea. В этом я открываю подкласс MDIChild, который имеет мастер-класс. Внутри мастер-класса я установил виртуальный changeEvent для подокна. Но если я использую это событие, я не могу больше перемещать окно в QMDIArea, и подокно не создается в развернутом виде. Если я удаляю событие из класса, оно снова работает хорошо. Я правильно использую Событие?

MdiChildBase.h

private:
    virtual void changeEvent(QEvent * e);

MdiChildBase. cpp

void MdiChildBase::changeEvent(QEvent * e) {

    if(e->type() == QEvent::WindowStateChange && this->isActiveWindow()) {
       // .. this is now the active window
        qDebug("Iam active now");
    }
    QWidget::changeEvent(e);

}

1 Ответ

0 голосов
/ 13 января 2020

Хорошо, после прочтения документации и попробуйте что-нибудь вокруг решения этого вопроса:

void MdiChildBase::changeEvent(QEvent * e) {

    QMdiSubWindow::changeEvent(e);
    if(e->type() == QEvent::WindowStateChange && this->isActiveWindow()) {
       // .. this is now the active window
        qDebug("Iam active now");
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...