c++ - Qt Parent to delete variable after child has closed -
i'm writing application in c++ using qt library. there central window (the parent) , children launched when needed. since number of these windows can open multiple times, display different data, i'm declaring objects new
. here example of i've got:
home_window.hpp
view_window *somewindow;
home_window.cpp
void home_window::on_windowbutton_clicked() { somewindow = new view_window(); somewindow->show(); }
what want do, delete object, when window closed reduce memory footprint of application. i've been able delete of objects contained in child window reduce memory usage, core object still lingers, , if, through single day user opens , closes 1000's of windows, , each object holds onto 40-50kb of memory, footprint of application goes couple of mbs of memory 100's of mbs of memory.
i've not been able find guide online allow me achieve this. considering slot , signal pair, know when window closed, sends qobject::destroyed()
signal. issue, i've not tried setup signal , slot pair this.
any suggestions appreciated.
to delete window when closed, can set wa_deleteonclose
attribute on it. on_windowbutton_clicked()
should like:
void home_window::on_windowbutton_clicked() { view_window* w= new view_window(); w->setattribute(wa_deleteonclose); w->show(); }
this way, don't have worry destroying w
yourself, delete
d automatically when closed.
Comments
Post a Comment