要将 QHBoxLayout 自动填充 QWidget 的宽度,你可以使用 QWidget 的 setSizePolicy() 方法来设置水平方向的大小策略。
QWidget* widget = new QWidget();
QHBoxLayout* layout = new QHBoxLayout(widget);
QPushButton* button1 = new QPushButton("Button 1");
QPushButton* button2 = new QPushButton("Button 2");
QPushButton* button3 = new QPushButton("Button 3");
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); // 设置水平方向为扩展和垂直方向为固定
setLayout(layout);
在上面的示例中,setSizePolicy()
方法用于设置 widget
的大小策略。QSizePolicy::Expanding
表示该部件可以在水平方向上扩展以填充空白区域,而 QSizePolicy::Fixed
表示该部件在垂直方向上具有固定的大小。
这样设置后,当窗口调整大小时,QHBoxLayout 将会自动根据 Widget 的宽度进行伸缩,并填满可用的空间。
内容由零声教学AI助手提供,问题来源于学员提问