抱歉给出的代码仍然有误,请尝试以下修正后的代码:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// 创建水平布局
QHBoxLayout *setHLayout = new QHBoxLayout();
// 设置垂直布局边距为0
ui->verticalLayout->setContentsMargins(0, 0, 0, 0);
// 创建一个新的 QWidget,作为容器来包含垂直布局
QWidget* verticalContainer = new QWidget();
verticalContainer->setLayout(ui->verticalLayout);
// 将垂直布局的容器添加到水平布局中,并设置拉伸因子为1,使其自适应大小
setHLayout->addWidget(verticalContainer, 1);
// 设置窗口的主要布局为水平布局
QWidget* centralWidget = new QWidget(this);
centralWidget->setLayout(setHLayout);
setCentralWidget(centralWidget);
}
这段修正后的代码将垂直布局放入一个QWidget容器中,再将该容器添加到水平布局中。这样可以实现ui->verticalLayout根据MainWindow自适应大小的效果。如果还有问题,请告诉我具体错误提示信息和相关代码部分,我会尽力帮助您解决问题。
内容由零声教学AI助手提供,问题来源于学员提问