• admin
  • 815
  • 2025-06-05 05:09:20

QHBoxLayout 是 Qt 框架中用于创建水平布局的类。它将子控件以横向的方式排列,并自动调整大小,以适应父窗口的尺寸变化。

重要方法

QHBoxLayout(QWidget *parent = nullptr):创建一个 QHBoxLayout 对象,并指定其父窗口部件。addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = 0):向布局中添加一个控件。addLayout(QLayout *layout, int stretch = 0):向布局中添加另一个布局。addSpacerItem(QSpacerItem *spacer):向布局中添加一个间隔项,用于控制空间分配。removeWidget(QWidget *widget):从布局中移除指定的控件。count() const:返回布局中控件的数量。itemAt(int index) const:返回指定索引处的布局项。setStretch(int index, int stretch):设置指定控件的伸缩因子,控制其在布局中占用的空间比例。setSpacing(int spacing):设置控件之间的间距。setContentsMargins(int left, int top, int right, int bottom):设置布局的边距。insertWidget(int , QWidget *, int , Qt::Alignment ):在布局的指定位置插入一个子控件。

#include

#include

#include

#include

#include

#include

class MyWidget : public QWidget {

public:

MyWidget() {

QHBoxLayout *layout = new QHBoxLayout(this);

QLabel *label = new QLabel("Name:", this);

layout->addWidget(label);

QLineEdit *lineEdit = new QLineEdit(this);

layout->addWidget(lineEdit);

QPushButton *button = new QPushButton("Submit", this);

layout->addWidget(button);

layout->setSpacing(10); // 设置控件间距

layout->setContentsMargins(5, 5, 5, 5); // 设置边距

setLayout(layout);

}

};

int main(int argc, char *argv[]) {

QApplication app(argc, argv);

MyWidget widget;

widget.resize(300, 100);

widget.show();

return app.exec();

}

觉得有帮助的话,打赏一下呗。。