所以非QMdiArea
版本的我的代码,如何使QMdiArea子窗口小部件不可调整大小?
MyWidget::MyWidget(QWidget* parent)
{
...
layout()->setSizeConstraint(QLayout::SetFixedSize);
}
MainWindow::MainWindow(...)
{
...
MyWidget* wgt = new MyWidget(NULL);
wgt->show();
}
作品就好了,并且产生用户不能调整大小的Widget。但是,当MainWindow
代码替换
MainWindow::MainWindow(...)
{
...
MyWidget* wgt = new MyWidget(ui->mdiArea); //Or MyWidget(NULL), same result
ui->mdiArea->addSubWindow(wgt);
}
窗口,现在QMdiArea
内,是调整大小。它似乎不是Qt :: WindowFlags的问题,它们不处理调整策略。当然有办法做到这一点? NB我不能使用像setFixedSize(ht, wd)
这样的东西,因为小部件的大小可以通过编程来改变(小部件被添加和删除)。但用户不应该能够调整它的大小。
好吧,我想要使用'setFixedSize'(参见原文),但是我猜想,每次添加或删除小部件时都会重新调用它,这是唯一的出路。 – 2012-02-11 18:17:46