Russian Qt Forum
Августа 30, 2025, 06:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Переход между "формами" (открыть новый QWidget)  (Прочитано 5687 раз)
sobr_vamp
Гость
« : Июня 04, 2011, 12:01 »

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

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Июня 04, 2011, 12:20 »

w2 уничтожится (и соответственно закроется) по выходе из функции, а поскольку главный виджет тоже скрыт и больше никаких видимых виджетов нет, то Qt автоматически завершает приложение.

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

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
sobr_vamp
Гость
« Ответ #2 : Июня 04, 2011, 12:27 »

Большое спасибо, работает. Как-то запамятовал совсем =)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.023 секунд. Запросов: 19.