То есть не-1001 * версия моего кода,
MyWidget::MyWidget(QWidget* parent)
{
...
layout()->setSizeConstraint( QLayout::SetFixedSize );
}
MainWindow::MainWindow(...)
{
...
MyWidget* wgt = new MyWidget(NULL);
wgt->show();
}
прекрасно работает и создает виджет, размер которого пользователь не может изменить. Но когда код MainWindow
заменяется на
MainWindow::MainWindow(...)
{
...
MyWidget* wgt = new MyWidget(ui->mdiArea); //Or MyWidget(NULL), same result
ui->mdiArea->addSubWindow(wgt);
}
окно, теперь в пределах QMdiArea
, можно изменить. Кажется, это не проблема Qt :: WindowFlags, они не обрабатывают политику изменения размера. Наверняка есть способ сделать это? Примечание: я не могу использовать что-то вроде setFixedSize(ht, wd)
, поскольку размер виджета может изменяться программно (подвиджеты добавляются и удаляются) Но пользователь не должен иметь возможность изменить его размер.