QMdiArea
だから私のコードの非バージョン、
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 の問題ではないようです。サイズ変更ポリシーを処理しません。確かにこれを行う方法はありますか?NBsetFixedSize(ht, wd)
ウィジェットのサイズはプログラムで変更できるため、次のようなものは使用できません(サブウィジェットが追加および削除されます)。ただし、ユーザーはサイズを変更できないはずです。