だから私のコードの非QMdiArea
バージョン、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の問題ではないようですが、サイズ変更ポリシーは処理されません。確かにこれを行う方法がありますか?注意:ウィジェットのサイズはプログラムで変更できるので(サブウィジェットが追加されたり削除されたりするので)setFixedSize(ht, wd)
のようなものは使用できません。しかし、ユーザーはサイズを変更できません。
ui->mdiArea->addSubWindow(wgt);
ウィジェットはサイズ変更であるQMdiSubWindow
に置かれている:あなたが呼び出すときMyWidget
は、サイズ変更ではありませんが
さて、 'setFixedSize'(元の記事を参照)を使いたいと思っていましたが、私はこれを推測し、ウィジェットが追加または削除されるたびに再呼び出しすることが唯一の方法です。 –