Название: Создание окон через new Отправлено: Vadim7423 от Ноябрь 21, 2022, 06:53 Всем привет. Подскажите если создать окно таким образом:
Код: ProfileView* view = new ProfileView(); Или mdiArea после уничтожения сам удалит все объекты, указатели на которые у него зарегистрированы? Название: Re: Создание окон через new Отправлено: Vadim7423 от Ноябрь 21, 2022, 11:26 В общем сделал так:
Код: MainWindow::~MainWindow() Название: Re: Создание окон через new Отправлено: PimenS от Ноябрь 21, 2022, 12:01 Судя по мануалу оно должно удалиться.
Цитировать Note: Once the subwindow has been added, its parent will be the viewport widget of the QMdiArea. ЗЫ. А вообще: Цитировать When you create your own subwindow, you must set the Qt::WA_DeleteOnClose widget attribute if you want the window to be deleted when closed in the MDI area. If not, the window will be hidden and the MDI area will not activate the next subwindow. Название: Re: Создание окон через new Отправлено: Vadim7423 от Ноябрь 21, 2022, 12:52 ЗЫ. А вообще: Цитировать When you create your own subwindow, you must set the Qt::WA_DeleteOnClose widget attribute if you want the window to be deleted when closed in the MDI area. If not, the window will be hidden and the MDI area will not activate the next subwindow. Название: Re: Создание окон через new Отправлено: PimenS от Ноябрь 21, 2022, 14:54 Читал, но так и не понял, освобождается ли память при этом. Проверить не сложно. Судя по коду "ProfileView" это у вас свой класс. В его деструкторе сделайте вывод, ну хотя бы qDebug(), и увидите разрушается у вас класс или нет в нужный момент. Название: Re: Создание окон через new Отправлено: Vadim7423 от Ноябрь 22, 2022, 08:52 Проверить не сложно. Судя по коду "ProfileView" это у вас свой класс. В его деструкторе сделайте вывод, ну хотя бы qDebug(), и увидите разрушается у вас класс или нет в нужный момент. Спасибо разобрался. |