Название: Как предотвратить закрытие диалогового окна? Отправлено: Bolonat от Май 17, 2019, 08:54 Здравствуйте!
Создаю диалоговое окно с кнопками Ok и Отмена. Обрабатываю нажатие кнопки Ок - в слоте accepted() - проверяю правильность введенных пользователем данных. Хочу, если пользователь ввел неверные данные, предотвратить закрытие диалогового окна, сообщить пользователю об ошибке и установить фокус в поле, где пользователь ввел ошибку. Но у меня не получается предотвратить закрытие диалогового окна. Подскажите, как это сделать? Код:
Название: Re: Как предотвратить закрытие диалогового окна? Отправлено: Swa от Май 17, 2019, 09:12 Нужно перегрузить функцию accept
Код: Конструктор: Название: Re: Как предотвратить закрытие диалогового окна? Отправлено: Bolonat от Май 17, 2019, 09:24 Нужно перегрузить функцию accept Спасибо! Получилось.... Название: Re: Как предотвратить закрытие диалогового окна? Отправлено: lit-uriy от Май 20, 2019, 06:09 Bolonat, обрати внимание на названия большинства сигналов Qt, они имеют окончание "-ed", т.е. прошедшее время. Такие сигналы посылаются после того, как что-то случилось.
Название: Re: Как предотвратить закрытие диалогового окна? Отправлено: Bolonat от Май 22, 2019, 07:10 Bolonat, обрати внимание на названия большинства сигналов Qt, они имеют окончание "-ed", т.е. прошедшее время. Такие слоты посылаются после того, как что-то случилось. Я обрабатываю событие - нажатие пользователем кнопки ОК. Все возможные слоты для данного случая - это accepted(), clicked(). И в них никак нельзя предотвратить закрытие окна. Но проблема уже решена, как предложили выше. |