qt QHBoxLayout详解

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();

    }

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

相关推荐
烈日下的奔跑2 小时前
Ubuntu16.04 Qt的安装与卸载
开发语言·qt
__BMGT()17 小时前
C++ QT生成GIF,处理原始图像RGBA数据,窗口生成简单的动画
开发语言·c++·qt
wirepuller_king17 小时前
QT软件开发环境及简单图形的绘制-图形学(实验一)-[成信]
开发语言·qt
君的名字19 小时前
怎么判断一个Android APP使用了Qt 这个跨端框架
android·开发语言·qt
qq_4112624220 小时前
一个基于 ESP-IDF 的 RPC over UDP 示例
qt·rpc·udp·四博智联·doit
潇-xiao1 天前
Qt window frame + windowTitle + windowIcon属性(3)
c++·笔记·qt
青春:一叶知秋1 天前
【Qt开发】Qt核心属性
开发语言·qt
苏克贝塔1 天前
使用 Qt QGraphicsView/QGraphicsScene 绘制色轮
开发语言·qt
..过云雨1 天前
01. Qt介绍及Qt开发环境搭建(2025.05最新官网下载方式)
开发语言·qt
范纹杉想快点毕业2 天前
Google C++ Style Guide 谷歌 C++编码风格指南,深入理解华为与谷歌的编程规范——C和C++实践指南
c语言·数据结构·c++·qt·算法