Border Layout Example▲
Border Layout implements a layout that arranges child widgets to surround the main area.

The constructor of the Window class creates a QTextBrowser object, to which a BorderLayout named layout is added. The declaration of the BorderLayout class is quoted at the end of this document.
Window::
Window()
{
QTextBrowser *
centralWidget =
new
QTextBrowser;
centralWidget-&
gt;setPlainText(tr("Central widget"
));
BorderLayout *
layout =
new
BorderLayout;
Several labeled widgets are added to layout with the orientation Center, North, West, East 1, East 2, and South.
layout-&
gt;addWidget(centralWidget, BorderLayout::
Center);
layout-&
gt;addWidget(createLabel("North"
), BorderLayout::
North);
layout-&
gt;addWidget(createLabel("West"
), BorderLayout::
West);
layout-&
gt;addWidget(createLabel("East 1"
), BorderLayout::
East);
layout-&
gt;addWidget(createLabel("East 2"
) , BorderLayout::
East);
layout-&
gt;addWidget(createLabel("South"
), BorderLayout::
South);
setLayout(layout);
setWindowTitle(tr("Border Layout"
));
createLabel() in class Window sets the text of the labeled widgets and the style.
QLabel *
Window::
createLabel(const
QString &
amp;text)
{
QLabel *
label =
new
QLabel(text);
label-&
gt;setFrameStyle(QFrame::
Box |
QFrame::
Raised);
return
label;
}
Class BorderLayout contains all the utilitarian functions for formatting the widgets it contains.
class
BorderLayout : public
QLayout
{
public
:
enum
Position {
West, North, South, East, Center }
;
explicit
BorderLayout(QWidget *
parent, const
QMargins &
amp;margins =
QMargins(), int
spacing =
-
1
);
BorderLayout(int
spacing =
-
1
);
~
BorderLayout();
void
addItem(QLayoutItem *
item) override
;
void
addWidget(QWidget *
widget, Position position);
Qt::
Orientations expandingDirections() const
override
;
bool
hasHeightForWidth() const
override
;
int
count() const
override
;
QLayoutItem *
itemAt(int
index) const
override
;
QSize minimumSize() const
override
;
void
setGeometry(const
QRect &
amp;rect) override
;
QSize sizeHint() const
override
;
QLayoutItem *
takeAt(int
index) override
;
void
add(QLayoutItem *
item, Position position);
private
:
struct
ItemWrapper
{
ItemWrapper(QLayoutItem *
i, Position p) {
item =
i;
position =
p;
}
QLayoutItem *
item;
Position position;
}
;
enum
SizeType {
MinimumSize, SizeHint }
;
QSize calculateSize(SizeType sizeType) const
;
QList&
lt;ItemWrapper *&
gt; list;
}
;
For more information, visit the Layout Management page.
Running the Example▲
To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.