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 <QApplication>
#include <QWidget>
#include <QHBoxLayout>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>
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();
}
觉得有帮助的话,打赏一下呗。。