Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: sobr_vamp от Июня 04, 2011, 12:01



Название: Переход между "формами" (открыть новый QWidget)
Отправлено: sobr_vamp от Июня 04, 2011, 12:01
Доброго времени суток.
Вопрос в следующем: есть один QWidget, по кнопке открыть второй, а первый скрыть (но не убивать).
Пробовал так:
Код:
void FirstWidget::on_next_pbtn_clicked()
{
    SecondWidget w2;
    w2.show();   
    this->setVisible(false);
}
Не выходит. Приложение почему-то завершается(звучит, наверно, смешно..но да ладно).
Искал примеры в QAssistant - нашёл QWizard. Штука крутая и то, что нужно. Но перекраивать проект времени нет.
Продолжаю гуглить, может кто быстрее подскажет.
Спасибо заранее.


Название: Re: Переход между "формами" (открыть новый QWidget)
Отправлено: kambala от Июня 04, 2011, 12:20
w2 уничтожится (и соответственно закроется) по выходе из функции, а поскольку главный виджет тоже скрыт и больше никаких видимых виджетов нет, то Qt автоматически завершает приложение.

чтоб w2 не уничтожился, объяви его через указатель либо сделай его переменной класса.

а если вдруг захочешь запретить приложению завершаться когда нету видимых виджетов, вызови qApp->setQuitOnLastWindowClosed(false)


Название: Re: Переход между "формами" (открыть новый QWidget)
Отправлено: sobr_vamp от Июня 04, 2011, 12:27
Большое спасибо, работает. Как-то запамятовал совсем =)