Здравствуйте, гость ( Вход | Регистрация )
radislav72 | Дата 9.4.2010, 11:45 |
Исправлю себя:
Так работает хорошо вроде |
|
Litkevich Yuriy | Дата 9.4.2010, 10:55 |
this->rejected(); тогда окно закроется, просто с другим кодом возврата (результата), нужно просто return делать, если хочешь, чтобы окно оставалось открытым |
|
radislav72 | Дата 9.4.2010, 10:45 |
Большое спасибо за подсказки! Все решилось очень просто )
А в предыдущем неправильном варианте: * лишней была строка
* при нажатии на стандартную кнопку закрытия окна в верх. прав. углу событие действительно возникало |
|
kwisp | Дата 9.4.2010, 8:29 |
И сообщение "CloseEvent!" вообще никогда не показывается. Почему? В чем ошибка? попробуй ради интересу не на кнопки "Ок" "Отмена" понажимать, а на крестик закрытия окна. что получится? |
|
Litkevich Yuriy | Дата 9.4.2010, 8:29 |
e->ignore(); это первое, что бросилось в глаза, даже не читая самого сообщения.QDialog::closeEvent(e); Ты либо игнорируешь событие, либо передаёшь его обработку в базовый класс. Для того, чтобы событие закрытия не произошло, нужно игнорировать. И вообще тебе этот обработчик не нужен для того, чтобы отслеживать "Ок". Нужно просто переопределить слот accept() kwisp, опередил |
|
kwisp | Дата 9.4.2010, 8:27 |
radislav72, читай внимательнее про QDialog тебе вообще по идее не нужен closeEvent нужно лишь переопределить 2 слота accept() && reject() |
|
radislav72 | Дата 9.4.2010, 8:05 |
Помогите с такой проблемой. Есть дилог - потомок QDialog, создан в дизайнере QTCreatorа. В нем переопределен обработчик события closeEvent:
Реализация closeEvent такая:
Сам диалог показывается таким образом:
На диалоге есть buttonBox с кнопками ОК и Отмена. Нужно сделать так, чтобы при нажатии ОК проверялись данные формы, и если они не правильны, выдавалось сообщение и диалог не закрывался. Если нажимается Отмена- диалог закрывается по-любому. По идее, в приведенном коде диалог не должен закрыться. Но он закрывается. И сообщение "CloseEvent!" вообще никогда не показывается. Почему? В чем ошибка? Если делать так для MainWindow, все работает прекрасно. Уже второй день мучаюсь |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 20.4.2024, 12:16 |