Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Alex_C от Апрель 18, 2012, 15:59



Название: [Решено] Удалить окно при закрытии
Отправлено: Alex_C от Апрель 18, 2012, 15:59
Как правильно на Qt решить следующую задачу:
1. При закрывании окна оно должно удалиться. Что нужно для этого closeEvent указать?
2. При удалении нужно обнулить указатель на этот объект, чтоб при выборе меню для показа этого окна можно было проверить, создано оно или нет

Код:
    if(calcWindow == 0)
    {
        calcWindow = new CalcWindow(this);
        calcWindow->show();
    }
    else if(calcWindow->isVisible())
    {
        delete calcWindow;
        calcWindow = 0;
    }
    else
        calcWindow->show();

И вообще на сколько правильный такой подход?


Название: Re: Удалить окно при закрытии
Отправлено: Alex Custov от Апрель 18, 2012, 16:03
1. При закрывании окна оно должно удалиться. Что нужно для этого closeEvent указать?

см. Qt::WA_DeleteOnClose

2. При удалении нужно обнулить указатель на этот объект, чтоб при выборе меню для показа этого окна можно было проверить, создано оно или нет

см. QPointer


Название: Re: Удалить окно при закрытии
Отправлено: Alex_C от Апрель 18, 2012, 16:51
To Alex Custov : коротко и по делу! Спасибо!!!