Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Вероника от Январь 04, 2014, 12:33



Название: Развернутое окно MDIArea
Отправлено: Вероника от Январь 04, 2014, 12:33
Добрый день! Есть Mdi-приложение. В Главном окне есть меню, в нем вызываю Диалог просто dialog.exec()- оно модальное, а в Диалоге есть кнопка. По ней я добавляю дочернее окно. Добавляется, но при нажатии на кнопку развернуть, оно полностью блокирует экран, не могу не свернуть, не закрыть приложение. Не подскажете, как сделать правильно.


Название: Re: Развернутое окно MDIArea
Отправлено: destard от Январь 04, 2014, 12:59
Покажите как добавляете дочернее окно.


Название: Re: Развернутое окно MDIArea
Отправлено: Вероника от Январь 04, 2014, 20:15
Эта функция в MainWindow:
void MainWindow::addSubWindow(QWidget* _w, QString _name, bool showMaximized)
{
    ui->mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
    ui->mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);

    QMdiSubWindow* _window = ui->mdiArea->addSubWindow(_w);
     ui->mdiArea->cascadeSubWindows();     
      _w->setAttribute(Qt::WA_DeleteOnClose,true);
       
       connect(_w, SIGNAL(destroyed()), _window, SLOT(close()));
                     _window->show();
           pathHash.insert(_window, _name);           
            idHash.insert(_window,0);

             if (showMaximized)
                          _window->showMaximized();
                  else
                          _window->show();
                        addPathTitle(_name);

}
А так она вызывается из другого окна, по кнопке которого надо добавить еще одно дочернее окно:

ObjectSubRFForm *subRFform = new ObjectSubRFForm(subrf, year, this);
cApp->getMainWindow()->addSubWindow(subRFform,"Субъект РФ", false);

Ответье, пожалуйста, а то проект надо сдавать, а как это проблему решить совсем не знаю.