Скажите, пожалуйста, как перехватить закрытие делегата? Я понял, что можно в eventFilter ловить нажатия клавишь, но закрытие может быть вызвано и мышью, и даже програмной сменой фокуса... В свою очередь ловить смены фокуса для делегата я думаю очень неудобно, поскольку сам виджет делегата состоит из двух контроллов, и перемещение фокуса между ними не должно приводить к закрытию эдитора. И возникают сомнения в том, что получив сигнал о смене фокуса при определенных обстоятельствах смогу отменить закрытие эдитора.Вопрос в том, можно ли как-то удобно перехватить момент закрытия эдитора и повлиять на возможность его закрыть?Что делается: делается делегат для ввода пути. Состоит из QLineEdit-a и QToolButton-a. Возможно, и из иконки. При закрытии эдитора проверяется, что путь существует, и если его не существует - выдается соответствующее предупреждение в возможностью продолжить редактирование пути, отменить изменения, или все же сохранить указанное значение.PS. Обработка QEvent::Close в editorEvent не помогает - событие туда не доходит
|