| 
					 Название: Модальный QMainWindow Отправлено: Alexandr_Sky от Июля 26, 2007, 13:48 В общем-то сабж. 
					Необходимо из приложения открыть QMainWindow, так, чтобы само приложение ожидало закрытия этого окна. Если использовать метод show(), то окно не модальное. Название: Модальный QMainWindow Отправлено: pastor от Июля 26, 2007, 14:37 setAttribute(Qt::WA_ShowModal, true); 
					Можно управлять ещё видом модельности при помощи setWindowModality Название: Модальный QMainWindow Отправлено: Alexandr_Sky от Июля 26, 2007, 14:56 Не прокатывает. 
					Окно не реагирует, но функция из которой открывается продолжает выполнятся. Т.е. код, который должен обрабатывать результаты, выполняется не после закрытия окна, а сразу. Название: Модальный QMainWindow Отправлено: QCasper от Июля 26, 2007, 15:05 Цитата: "Alexandr_Sky" Не прокатывает. Окно не реагирует, но функция из которой открывается продолжает выполнятся. Т.е. код, который должен обрабатывать результаты, выполняется не после закрытия окна, а сразу. Основная задача заключается в достижении выполняемости некоторого кода именно после закрытия окна, или в достижении получения модальности окна? Название: Модальный QMainWindow Отправлено: pastor от Июля 26, 2007, 15:11 Только что создал тестовый пример, все работает 
					Код: 
 Можно конечно ещё добавить window->setWindowFlags( window->windowFlags() | Qt::WindowStaysOnTopHint ); Для того чтобы закрыть окно "Non-Modal" я должен закрыть окно "Modal". Если это не то чно нужно, тогда я просто не понял сути вопроса Название: Модальный QMainWindow Отправлено: Alexandr_Sky от Июля 26, 2007, 15:14 Ну в принципе и то и то. 
					Сейчас подумал, можно связать сигнал закрытия дополнительного окна со слотом в основном окне, а модальность сделать setAttribute(Qt::WA_ShowModal, true); Но нет ли более простого варианта? Хотя и этот сложным никак назвать нельзя. :) Название: Модальный QMainWindow Отправлено: pastor от Июля 26, 2007, 15:21 А что не так? Какова суть коннекта сигнал закрытия дополнительного окна со слотом в основном окне? 
					Название: Модальный QMainWindow Отправлено: Alexandr_Sky от Июля 26, 2007, 15:25 Возьмем для примера такой код: 
					Код: Test::Test(QWidget *parent) так вот надо, чтобы "666" в консоли появилось только после закрытия дополнительного окна. А так появляется сразу. Название: Модальный QMainWindow Отправлено: vaprele07 от Июля 26, 2007, 15:30 можно вот так сделать 
					Код: 
 Название: Модальный QMainWindow Отправлено: Alexandr_Sky от Июля 26, 2007, 15:31 Суть такова: 
					Основное окно открывает дополнительное, результатом работы которого будет некая информация. После закрытия дополнительного окна эту инфу надо получить в основном окне. Кроме того, надо, чтобы пользователь во время работы в доп. окне не мог ничего нажать в основном. Соответственно можно из одной функции открыть окно, и сделать слот, который будет вызываться по закрытию доп. окна. В нем уже брать результаты из класса доп. окна и обрабатывать. Название: Модальный QMainWindow Отправлено: pastor от Июля 26, 2007, 15:34 Имхо, тогда уже сделай свой класс диалога на базе QMainWindow и заюзай QEventLoop. Такое решение будет давольно простым и на мойвзгляд правильным 
					Название: Модальный QMainWindow Отправлено: Alexandr_Sky от Июля 26, 2007, 15:35 Всем спасибо! 
					Отдельное спасибо vaprele07. :) С циклом отлично работает.  |