所以非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