Q:

How to make a QMdiArea subwindow widget non-resizeable?

So the non-QMdiArea version of my code, 
MyWidget::MyWidget(QWidget* parent)
{
   ...
   layout()->setSizeConstraint( QLayout::SetFixedSize );
}

MainWindow::MainWindow(...)
{
   ...
   MyWidget* wgt = new MyWidget(NULL);
   wgt->show();
}

works just fine and produces a widget that the user can't resize.  But when the MainWindow code is replaced with
MainWindow::MainWindow(...)
{
   ...
   MyWidget* wgt = new MyWidget(ui->mdiArea); //Or MyWidget(NULL), same result
   ui->mdiArea->addSubWindow(wgt);
}

the window, now within the QMdiArea, is resizeable.  It doesn't seem to be an issue of Qt::WindowFlags, they don't handle resize policy.  Surely there is a way to do this?  NB I cant use something like setFixedSize(ht, wd) since the size of the widget can change programmatically (subwidgets are added and removed).  But the user should not be able to resize it.

A:

The following worked for me:
    MyWidget* wgt = new MyWidget(ui->mdiArea); 
    QMdiSubWindow* subWindow = ui->mdiArea->addSubWindow(wgt); 
    subWindow->setFixedSize(wgt->size());
    wgt->show();

