crossplatform.ru

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

> Не получается вызвать QDialog из QMailWindow
Гость_Гость_*
сообщение 10.10.2007, 9:45
Сообщение #1





Гости








    


Есть два класса, производные от QMailWindow и QDialog.
Как вызвать из QMailWindow диалог таким образом, чтобы пользователь мог переключаться между окнами?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 26.4.2008, 19:30
Сообщение #2


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

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

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




Репутация:   94  


Цитата(' date='10.10.2007, 13:45) *
Как вызвать из QMailWindow диалог таким образом, чтобы пользователь мог переключаться между окнами?

чтобы дочернее окно пускало в родителя, оно, дочернее, должно быть не модальным.
Цитата(' date='10.10.2007, 13:48) *
Тогда второй вопрос, а где и когда мне уничтожать pDlg?

нигде не надо, оставь это на откуп родителю, т.е. создавай так
CxxxDialog *pDlg = new CxxxDialog(parent);
pDlg->show();

где parent указатель на родителя.

Цитата(' date='26.4.2008, 23:03) *
А чтобы вызвать диалог модально, вроде бы стоит запускать его exec().

наиболее употребительный, на мой взгляд, вариант, но есть и такой вариант:
Цитата
An alternative is to call setModal(true) or setWindowModality(), then show().

но тут будет нюанс, управление в родителявернется сразу, и чтобы отследить когда закроется дочернее, нужно уже механизм сабытий использовать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 22.12.2024, 18:16