Russian Qt Forum
Июня 23, 2025, 13:28
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
как проигнорировать блокировку виджета модальным окном?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: как проигнорировать блокировку виджета модальным окном? (Прочитано 4931 раз)
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);
}
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: как проигнорировать блокировку виджета модальным окном?
«
Ответ #1 :
Ноября 11, 2014, 15:24 »
return true;
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
unkeep
Гость
Re: как проигнорировать блокировку виджета модальным окном?
«
Ответ #2 :
Ноября 11, 2014, 15:39 »
Цитата: kambala от Ноября 11, 2014, 15:24
return true;
всё равно блокирует. Ещё пробовал event переопределять в родительском виджете.
пс: у диалога стоит Qt::WindowModal
Записан
vulko
Гость
Re: как проигнорировать блокировку виджета модальным окном?
«
Ответ #3 :
Ноября 11, 2014, 16:21 »
Цитата: unkeep от Ноября 11, 2014, 15:39
Цитата: kambala от Ноября 11, 2014, 15:24
return true;
всё равно блокирует. Ещё пробовал event переопределять в родительском виджете.
пс: у диалога стоит Qt::WindowModal
возможно поможет event->accept() ?
Записан
unkeep
Гость
Re: как проигнорировать блокировку виджета модальным окном?
«
Ответ #4 :
Ноября 11, 2014, 16:51 »
Цитата: vulko от Ноября 11, 2014, 16:21
возможно поможет event->accept() ?
неа
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: как проигнорировать блокировку виджета модальным окном?
«
Ответ #5 :
Ноября 11, 2014, 20:03 »
тогда скорее уж event->ignore()
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
vulko
Гость
Re: как проигнорировать блокировку виджета модальным окном?
«
Ответ #6 :
Ноября 12, 2014, 09:13 »
Цитата: kambala от Ноября 11, 2014, 20:03
тогда скорее уж event->ignore()
event->accept() вроде как раз маркирует ивент как обработанный и дальше не прокидывает.
вместе с с return true/false надо попробовать.
и ignore() тоже можно.
если не помогает, значит не в ивенте дело и не обработка ивента отвечает за это.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: как проигнорировать блокировку виджета модальным окном?
«
Ответ #7 :
Ноября 12, 2014, 18:29 »
можно попробовать по-другому: диалогу дать нулевого парента (ну или просто сделать его немодальным) и руками отправлять событие блокировки нужному виджету.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...