QMainWindow是一個主窗口,它提供了構建用戶應用程序界面的框架,它由ToolBars、Dock Widget、Central Widget、Status Bar組成,如下圖所示
要對QMainWindow進行佈局不能像在QWidget及QWidget()的直接子類中進行佈局那樣通過QWidget::SetLayout(),然後addWidget()就可以了:
- QVBoxLayout *mainLayout = new QVBoxLayout(this);
- mainLayout->addWidget(dataGraphWidget);
- this->setLayout(mainLayout);
在QMainWindow裏面進行佈局,其實是對Central Widget進行操作:
- QVBoxLayout *mainLayout = new QVBoxLayout(this);
- mainLayout->addWidget(dataGraphWidget);
- this->centralWidget()->setLayout(mainLayout);
一開始不知道該對Central Widget進行操作,直接使用對QWidget操作那樣的代碼,添加到佈局管理器中的窗口不會隨着主窗口的改變而改變大小。