Название: Что вызывается parent у детей перед смертью? Отправлено: Caduceus от Февраль 24, 2009, 22:53 Делаю свой Виджет, унаследованный от GLWidget. Он висит на основном окне программы как ребенок. Мне когда программа закрывается - нужно чистить память. Попытался переопрелделить у виджета closeEvent - не помгло.
Как чистить память у виджета перед его смерьью? Название: Re: Что вызывается parent у детей перед смертью? Отправлено: pastor от Февраль 24, 2009, 22:59 Если я правильно понял вопрос, то:
1) delete glwidget; или 2) glwidget->setAttribute(Qt::WA_DeleteOnClose); ... glwidget->close(); Название: Re: Что вызывается parent у детей перед смертью? Отправлено: Caduceus от Февраль 24, 2009, 23:08 Нет, не как удаляется виджет, а что шлется виджетам после окончания app.exec() , но до деструктора QApplication
Название: Re: Что вызывается parent у детей перед смертью? Отправлено: Rcus от Февраль 24, 2009, 23:16 Странный вопрос. Чем вас для начала не устраивает деструктор виджета?
Название: Re: Что вызывается parent у детей перед смертью? Отправлено: Caduceus от Февраль 24, 2009, 23:23 Тем, что в деструктор дебагер заходит после деструктора главного класса QApplication, а мне надо до
Название: Re: Что вызывается parent у детей перед смертью? Отправлено: pastor от Февраль 24, 2009, 23:26 а что шлется виджетам после окончания app.exec() Ничего не шлется Название: Re: Что вызывается parent у детей перед смертью? Отправлено: Rcus от Февраль 24, 2009, 23:56 Хм, обычно главное окно создают на стеке после QApplication, может вы нам кода немножко покажете, без него телепатия очень плохо работает.
Название: Re: Что вызывается parent у детей перед смертью? Отправлено: Caduceus от Февраль 25, 2009, 00:53 Код почти обычный
Код: QApplication a(argc, argv); В строке 1 происходит инициализация моей библиотеки в строке 2 - освобождение . В главном окне есть виджет, в котором создаеются объекты классов из библиотки. Так вот при закртыии окна они должны убится ДО вызова строки 2 - а они в деструткоре виджета удаляются после - что неправильно - вот я испрашиваю - где мне внутри виджета убивать мои объекты Название: Re: Что вызывается parent у детей перед смертью? Отправлено: Rcus от Февраль 25, 2009, 01:09 попробуйте сделать так:
Код: int retVal; Название: Re: Что вызывается parent у детей перед смертью? Отправлено: pastor от Февраль 25, 2009, 12:37 В строке 1 происходит инициализация моей библиотеки в строке 2 - освобождение . В главном окне есть виджет, в котором создаеются объекты классов из библиотки. Так вот при закртыии окна они должны убится ДО вызова строки 2 - а они в деструткоре виджета удаляются после - что неправильно - вот я испрашиваю - где мне внутри виджета убивать мои объекты Удали главное окно "вручную": Код
Название: Re: Что вызывается parent у детей перед смертью? Отправлено: ритт от Март 02, 2009, 13:57 w->setAttribute(Qt::WA_DeleteOnClose);
при закрытии главного окна оно убьётся, затем //2, затем всеобщее разрушение... |