Всем превед, есть 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 чего-то подходящее может, или что-нибудь другое в этом же духе.
|