Название: как проигнорировать блокировку виджета модальным окном? Отправлено: unkeep от Ноябрь 11, 2014, 15:21 В частности нужно сделать так, чтобы в MdiArea модальный диалог блокировал только cсвой родительский MdiSubwindow.
installEventFilter с такой реализацией не помог. "QEvent::WindowBlocked" выводится, но окно всё равно блокируется. bool MyEventFilter::eventFilter(QObject* obj, QEvent* event) { if (event->type() == QEvent::WindowBlocked) { qDebug() << "QEvent::WindowBlocked"; return false; } return QObject::eventFilter(obj, event); } Название: Re: как проигнорировать блокировку виджета модальным окном? Отправлено: kambala от Ноябрь 11, 2014, 15:24 return true;
Название: Re: как проигнорировать блокировку виджета модальным окном? Отправлено: unkeep от Ноябрь 11, 2014, 15:39 return true; всё равно блокирует. Ещё пробовал event переопределять в родительском виджете. пс: у диалога стоит Qt::WindowModal Название: Re: как проигнорировать блокировку виджета модальным окном? Отправлено: vulko от Ноябрь 11, 2014, 16:21 return true; всё равно блокирует. Ещё пробовал event переопределять в родительском виджете. пс: у диалога стоит Qt::WindowModal возможно поможет event->accept() ? Название: Re: как проигнорировать блокировку виджета модальным окном? Отправлено: unkeep от Ноябрь 11, 2014, 16:51 возможно поможет event->accept() ? неа :-\Название: Re: как проигнорировать блокировку виджета модальным окном? Отправлено: kambala от Ноябрь 11, 2014, 20:03 тогда скорее уж event->ignore()
Название: Re: как проигнорировать блокировку виджета модальным окном? Отправлено: vulko от Ноябрь 12, 2014, 09:13 тогда скорее уж event->ignore() event->accept() вроде как раз маркирует ивент как обработанный и дальше не прокидывает. вместе с с return true/false надо попробовать. и ignore() тоже можно. если не помогает, значит не в ивенте дело и не обработка ивента отвечает за это. Название: Re: как проигнорировать блокировку виджета модальным окном? Отправлено: kambala от Ноябрь 12, 2014, 18:29 можно попробовать по-другому: диалогу дать нулевого парента (ну или просто сделать его немодальным) и руками отправлять событие блокировки нужному виджету.
|