Название: Вопрос про память! Отправлено: SignalSlot от Август 06, 2021, 16:11 Здравствуйте!
Помогите, пожалуйста, разобраться или подскажите где прочитать. Ситуация: есть форма (Ф1) с кнопкой. По нажатию на эту кнопку должна открываться новая форма (Ф2). Она должна быть самостоятельной (не зависить от родителя и не закрываться, если закроем Ф1). Но при этом они должны соединяться сигналом-слотом. Пример функции по нажатию кнопки: void on_btn_open_clicked() { FormTable *fTable = new FormTable(); connect(fTable, &FormTable::sig_retresh, this, &MainWindow::slot_refresh); } А вот и вопросы: если я закрою Ф2 (FormTable) что будет происходить с памятью? Форма действительно закроется, память освободится? А что будет с коннектом? Он самостоятельно дисконнектится? А если я буду использовать смартпоинтеры, то что будет в памятью при закрытии Ф2 (FormTable) ? void on_btn_open_clicked() { QPointer <FormTable> fTable = new FormTable(); connect(fTable, &FormTable::sig_retresh, this, &MainWindow::slot_refresh); } Название: Re: Вопрос про память! Отправлено: qtkoder777 от Август 12, 2021, 15:24 Можно совсем не освобождать память. Это ж не сервер. Памяти много. На сеанс хватит.
Название: Re: Вопрос про память! Отправлено: Igors от Август 13, 2021, 06:36 А вот и вопросы: если я закрою Ф2 (FormTable) что будет происходить с памятью? Форма действительно закроется, память освободится? Точнее "удалится ли Ф2" - зависит от установок, см WA_DeleteOnCloseА что будет с коннектом? Он самостоятельно дисконнектится? Автоматом разрывается при удалении, если только переключаете видимость - с коннектом ничего не происходитНазвание: Re: Вопрос про память! Отправлено: SignalSlot от Сентябрь 10, 2021, 15:30 Всем спасибо!
|