布局是QT界面當中必不可少的一環。我們常常使用QHBoxLayout、QVBoxLayout等進行布局。然而有個問題是,在MainWindow並不能直接進行布局。不然會顯示QWidget::setLayout: Attempting to set QLayout "" on MainWindow這個錯誤。
那么如果有在MainWindow上布局的需求,我們應該如何做呢?
下面我就說一說使用QWidget在MainWindow上布局的方法。
首先,我們應當創建一個QWidget的實例,暫且就叫widget吧,並將這個實例設置為centralWidget。
QWidget *widget = new QWidget();
this->setCentralWidget(widget);
然后,我們就可以愉快的布局了
QHBoxLayout *hbLayout = new QHBoxLayout();
hbLayout->addWidget(m_openButton);
hbLayout->addWidget(m_closeButton);
最后,只需要將widget的布局設置為布局就好了
centralWidget()->setLayout(hbLayout);
原文鏈接:https://blog.csdn.net/dzhongjie/article/details/84098289