Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Новые вопросы и ответы 4 (https://www.otvetnemail.ru/novye-voprosy-i-otvety-4-823/)
-   -   Запретить дальнейшую передачу события (https://www.otvetnemail.ru/novye-voprosy-i-otvety-4-823/zapretit-dal-nejshuyu-peredachu-sobytiya-211119/)

Guest 27.09.2011 13:21

Запретить дальнейшую передачу события
 
Всем превед, есть QLineEdit, который связан своим сигналом editingFinished() с определённым слотом, в котором идёт проверка содержимого этого поля ввода:КодC++ (Qt)void MyClass::MySlot(){QLineEdit* le = qobject_cast(sender());if (le->text().size() > 0){ QMessageBox::warning(this, "xxx", "yyy!"); le->setFocus();}}Сигнал испускается тогда, когда человек ввёл текст и кликнул на форме (фокус с поля ввода пропадает).Оно бы всё хорошо, но если перед вызовом слота курсор стоял над кнопкой закрытия диалога (на котором расположен этот QLineEdit), то после закрытия QMessageBox'а сам диалог тоже закрывается, т.е. клик мышей передался дальше на кнопку. Можно ли как-то запретить передачу евента на кнопку закрытия диалога без использования eventFilter'ов и перегрузки соотв. метода у кнопки закрытия диалога? Может qApp чего-то подходящее может, или что-нибудь другое в этом же духе.


Часовой пояс GMT, время: 09:29.


© www.otvetnemail.ru - Форум вопросов и ответов.