Работа с окнами, Как создать второе окно? |
Здравствуйте, гость ( Вход | Регистрация )
Работа с окнами, Как создать второе окно? |
bigory |
21.10.2010, 23:30
Сообщение
#1
|
Студент Группа: Участник Сообщений: 77 Регистрация: 10.10.2010 Пользователь №: 2099 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброе всем время суток!
Подскажите как создавать второе окно? Расположить на нем нужные мне элементы? и как в коде связываться с этими элементами? Я хочу из главного окна вызвать через меню второе окно, что-то похожее на модальное диалоговое окно, где будут находиться мои компоненты. И как сделать чтобы при закрытии программы не оставалась в памяти невидимое незакрытое окно |
|
|
bigory |
22.10.2010, 23:00
Сообщение
#2
|
Студент Группа: Участник Сообщений: 77 Регистрация: 10.10.2010 Пользователь №: 2099 Спасибо сказали: 0 раз(а) Репутация: 0 |
Не понял что значит создать объект на куче
Я попробовал сделать вот так: Раскрывающийся текст void MainWindow::IP() { Dialog* a=new Dialog(); a->show(); } Вот вопрос, не будет сильно влиять на память? Какой подход будет более правильным? |
|
|
Sokoloff |
22.10.2010, 23:27
Сообщение
#3
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Не понял что значит создать объект на куче Я попробовал сделать вот так: Раскрывающийся текст void MainWindow::IP() { Dialog* a=new Dialog(); a->show(); } Вот вопрос, не будет сильно влиять на память? Какой подход будет более правильным? Вот именно так будет утечка памяти. Делая new ты выделяешь память, и тут же теряешь указатель на нее, поэтому освободить уже никак не сможешь. Либо объявляй переменную в классе, отлавливай закрытие диалога и освобождай память. Или смотри в сторону флага Qt::WA_DeleteOnClose, тогда диалог сам удалится из памяти после закрытия. Скорее тебе подойдет второе. Сообщение отредактировал Sokoloff - 22.10.2010, 23:27 |
|
|
Текстовая версия | Сейчас: 26.11.2024, 4:46 |