Название: Дочернее окно (MDI) Отправлено: Andrey.D от Октябрь 14, 2010, 11:53 Нужно сделать так, чтобы можно было открыть только один экземпляр дочернего окна, если оно уже открыто, вывести его на передний план.
Есть ли у кого пример для данной задачи? Заранее благодарен. Название: Re: Дочернее окно (MDI) Отправлено: Zmeishe от Октябрь 14, 2010, 12:05 Сначала покажи как создаёшь свои окна mdi.
Название: Re: Дочернее окно (MDI) Отправлено: Andrey.D от Октябрь 14, 2010, 12:09 Код: import *i = new import; Название: Re: Дочернее окно (MDI) Отправлено: Zmeishe от Октябрь 14, 2010, 12:13 Код: foreach(subWindow, mdiArea->subWindowList()) В твоём случае сначала выясни, следует создавать import *widget = new import; или он уже создан. А потом проверяй есть он в mdiArea или ещё нет. Название: Re: Дочернее окно (MDI) Отправлено: Andrey.D от Октябрь 14, 2010, 12:39 Сделал следующее:
Код: import *widget = new import; При нажатии на кнопку окно не создаётся Название: Re: Дочернее окно (MDI) Отправлено: voral от Октябрь 14, 2010, 12:49 Код: import *widget = new import; При нажатии на кнопку окно не создаётся Код: if(!isExists) subWindow = ui->mdiArea->addSubWindow(widget); Название: Re: Дочернее окно (MDI) Отправлено: Zmeishe от Октябрь 14, 2010, 13:18 Во-первых, это и было за пределами цикла.
Код: if( !isExists ) Во-вторых, не надо делать вот это. Код: QMdiSubWindow *subWindow = new QMdiSubWindow; Код: QMdiSubWindow *subWindow; А вот это Код: import *widget = new import; при попадании в слот. Я же тебе написал - ВЫЯСНИ создан он или нет. Прежде чем снова создавать. mdi только показывает. Создавать или нет - сам решай. Название: Re: Дочернее окно (MDI) Отправлено: Zmeishe от Октябрь 14, 2010, 13:30 И ещё.
Твой widget - внутри subWindow. поэтому widget->showMaximized(); может и имеет сакральный смысл, но логичнее subWindow->showMaximized(); Ты просил пример - я дал. Почему такая невнимательность? Название: Re: Дочернее окно (MDI) Отправлено: voral от Октябрь 14, 2010, 13:33 Во-первых, это и было за пределами цикла. У Андрея внутри.Название: Re: Дочернее окно (MDI) Отправлено: Zmeishe от Октябрь 14, 2010, 13:35 Я его и кусаю за это.
А ты на свой счёт принял? :-X Название: Re: Дочернее окно (MDI) Отправлено: Andrey.D от Октябрь 15, 2010, 07:52 Всем спасибо за помощь
|