所以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)
因为小部件的大小可以以编程方式更改(添加和删除子小部件)。但是用户不应该能够调整它的大小。