QHBoxLayout Class Reference

The QHBoxLayout class lines up widgets horizontally. More...

 #include <QHBoxLayout>

Inherits: QBoxLayout.

Public Functions

QHBoxLayout ()
QHBoxLayout ( QWidget * parent )
~QHBoxLayout ()
  • 32 public functions inherited from QBoxLayout
  • 35 public functions inherited from QLayout
  • 29 public functions inherited from QObject
  • 17 public functions inherited from QLayoutItem

Additional Inherited Members

  • 2 properties inherited from QLayout
  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 1 signal inherited from QObject
  • 1 static public member inherited from QLayout
  • 7 static public members inherited from QObject
  • 1 protected function inherited from QBoxLayout
  • 4 protected functions inherited from QLayout
  • 8 protected functions inherited from QObject

Detailed Description

The QHBoxLayout class lines up widgets horizontally.

This class is used to construct horizontal box layout objects. See QBoxLayout for details.

The simplest use of the class is like this:

     QWidget *window = new QWidget;
     QPushButton *button1 = new QPushButton("One");
     QPushButton *button2 = new QPushButton("Two");
     QPushButton *button3 = new QPushButton("Three");
     QPushButton *button4 = new QPushButton("Four");
     QPushButton *button5 = new QPushButton("Five");

     QHBoxLayout *layout = new QHBoxLayout;
     layout->addWidget(button1);
     layout->addWidget(button2);
     layout->addWidget(button3);
     layout->addWidget(button4);
     layout->addWidget(button5);

     window->setLayout(layout);
     window->show();

First, we create the widgets we want in the layout. Then, we create the QHBoxLayout object and add the widgets into the layout. Finally, we call QWidget::setLayout() to install the QHBoxLayout object onto the widget. At that point, the widgets in the layout are reparented to have window as their parent.

Horizontal box layout with five child widgets

See also QVBoxLayout, QGridLayout, QStackedLayout, Layout Management, and Basic Layouts Example.

Member Function Documentation

QHBoxLayout::QHBoxLayout ()

Constructs a new horizontal box. You must add it to another layout.

QHBoxLayout::QHBoxLayout ( QWidget * parent )

Constructs a new top-level horizontal box with parent parent.

QHBoxLayout::~QHBoxLayout ()

Destroys this box layout.

The layout's widgets aren't destroyed.

Notes provided by the Qt Community
Informative
  • 4

Votes: 1

Coverage: Qt library 4.7, 4.8, 5.0

Picture of SimonL SimonL

Lab Rat
2 notes

Left to Right in Right to Left Languages

To Keep QHBoxLayout drawing from Left to Right in Right to Left Languages you must set the layout direction setDirection() to QBoxLayout::RightToLeft. This is best done in the constructor and when ApplicationLayoutDirectionChange and LayoutDirectionChange’s occur.

[Revisions]

Informative
  • 4

Votes: 1

Coverage: Qt library 4.7, 4.8, qt 5.0

Picture of Sam Sam

Ant Farmer
19 notes

Remove additional spacing

In order to remove the additional spacing while using QBoxLayout we can set the margins as

layout->setContentsMargins(QMargins(0,0,0,0));

[Revisions]