crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Работа с окнами, Как создать второе окно?
bigory
  опции профиля:
сообщение 21.10.2010, 23:30
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброе всем время суток!
Подскажите как создавать второе окно? Расположить на нем нужные мне элементы? и как в коде связываться с этими элементами?
Я хочу из главного окна вызвать через меню второе окно, что-то похожее на модальное диалоговое окно, где будут находиться мои компоненты. И как сделать чтобы при закрытии программы не оставалась в памяти невидимое незакрытое окно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 24.10.2010, 12:14
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  




Цитата(bigory @ 23.10.2010, 2:00) *
Не понял что значит создать объект на куче
когда объект создаётся с помощью оператора new, то он создаётся в "куче".
Когда объект создаётся обычным образом:
int myVar;
то он создаётся на стеке

Цитата(bigory @ 24.10.2010, 14:30) *
А можно ли все таки простой пример как удалить виджет при его закрытии?
поставить виджету флаг Qt::WA_DeleteOnClose

Но в твоём примере, с диалоговым окном, лучше всего диалог создавать на стеке (пример из асистента):
 void EditorWindow::countWords()
{
     WordCountDialog dialog(this);
     dialog.setWordCount(document().wordCount());
     dialog.exec();
}
при выходе из функции (области видимости) объект dialog будет уничтожен автоматически и немедленно.
метод exec() создаёт цикл обработки событий и не даёт программе исполнятся дальше. Т.е. диалоговое окно будет модальным (не пустит в родителя). При закрытии диалога, метод exec() завершится и выполнение программы продолжится.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- bigory   Работа с окнами   21.10.2010, 23:30
- - Алексей1153   Цитата(bigory @ 22.10.2010, 2:30) Подскаж...   22.10.2010, 6:47
- - bigory   Мне интересно как и модальное и немодальное окно с...   22.10.2010, 18:39
- - Алексей1153   читай про методы int QDialog::exec () и void ...   22.10.2010, 19:05
- - Litkevich Yuriy   и ещё   22.10.2010, 19:46
- - bigory   И еще один вопрос. Я хочу создать в режиме дизайне...   22.10.2010, 19:58
- - bigory   Почитал я про диалоговые окна, но пока реши начать...   22.10.2010, 20:57
|- - BRE   Цитата(bigory @ 22.10.2010, 21:57) Что та...   22.10.2010, 21:27
- - bigory   Можно пример? New может сильно жрать память   22.10.2010, 22:02
- - bigory   Не понял что значит создать объект на куче Я попро...   22.10.2010, 23:00
|- - Sokoloff   Цитата(bigory @ 23.10.2010, 0:00) Не поня...   22.10.2010, 23:27
- - bigory   Копался по инету в поиске как автоматически освобо...   24.10.2010, 0:57
- - Litkevich Yuriy   Цитата(bigory @ 24.10.2010, 3:57) мне поз...   24.10.2010, 10:36
- - bigory   А можно ли все таки простой пример как удалить вид...   24.10.2010, 11:30
- - Litkevich Yuriy   Цитата(bigory @ 23.10.2010, 2:00) Не поня...   24.10.2010, 12:14
- - bigory   Вот так? void MainWindow::IP() { ...   24.10.2010, 12:25
- - bigory   Заработал вот так: void MainWindow::IP...   24.10.2010, 13:06
- - Litkevich Yuriy   Цитата(bigory @ 24.10.2010, 16:06) То что...   24.10.2010, 13:10
- - bigory   Понял, спасибо! Думаю, вопрос по открытию и за...   24.10.2010, 13:20


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 4:27