Russian Qt Forum
Ноябрь 24, 2024, 23:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: closeEvent  (Прочитано 23521 раз)
VZ
Гость
« Ответ #15 : Август 17, 2007, 17:15 »

Цитата: "17dufa"
Все оказалось опять же интересно: я переопределял closeEvent у не того класса: проект сделан таким образом, что есть диалог, а есть то, что на нем "живет", я пытался переопределить у класса, который отображался на диалоге, переопределил у класса диалога - и все заработало.


А! так это диалог? а чем не катят слоты QDialog::reject(), QDialog::done(int r) ? Или полвинды переписать романтичнее?  :lol:
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #16 : Январь 13, 2008, 19:44 »

А зачем эта строка: QWidget::closeEvent( ev );  Непонимающий

Эта строка нужна в некоторые ситуациях, когда идет самостоятельная обработка эвента. Без вызова метода closeEvent базового класса возможна неправильная работа. Например я таслкнулся с такой ситуацией при переопределении  closeEvent в QMdiSubWindow. Поведение проги было странным. Вот что написали троли по этому поводу:

Цитировать
The problem in your code was that you are reimplementing the
closeEvent() method for your MdiChild class and not
calling the base class , QMdiSubWindow::closeEvent( event ).
The closeEvent() method implemantion of QMdiSubWindow invokes a few
other function calls such as d->setActive(false); for making the
subwindow not active. Hence, calling the base class when accepting the
event in the closeEvent() implementation should work. However, it is
recommended that you implement the closeEvent() method of the widget
that you are about set in a subwindow for intercepting the
QEvent::Close event and not closeEvent() of the subwindow itself, as
written in our example basically.

Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 22.