- Qt 6.8
- Qt Core
- C++ Classes
- QMargins
- Qt 6.8.3 Reference Documentation

# QMargins Class

The QMargins class defines the four margins of a rectangle. More...

Header: | `#include <QMargins>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Core)` `target_link_libraries(mytarget PRIVATE Qt6::Core)`
qmake: | `QT += core`

- List of all members, including inherited members
- QMargins is part of Painting Classes.

This class is equality-comparable.

This class is equality-comparable with QMarginsF.

## Public Functions

| QMargins()
| QMargins(int left, int top, int right, int bottom)
int | bottom() const
bool | isNull() const
int | left() const
int | right() const
void | setBottom(int bottom)
void | setLeft(int left)
void | setRight(int right)
void | setTop(int Top)
`(since 6.4)` QMarginsF | toMarginsF() const
int | top() const
QMargins & | operator*=(int factor)
QMargins & | operator*=(qreal factor)
QMargins & | operator+=(const QMargins &margins)
QMargins & | operator+=(int addend)
QMargins & | operator-=(const QMargins &margins)
QMargins & | operator-=(int subtrahend)
QMargins & | operator/=(int divisor)
QMargins & | operator/=(qreal divisor)

## Related Non-Members

bool | operator!=(const QMargins &lhs, const QMargins &rhs)
QMargins | operator*(const QMargins &margins, int factor)
QMargins | operator*(const QMargins &margins, qreal factor)
QMargins | operator*(int factor, const QMargins &margins)
QMargins | operator*(qreal factor, const QMargins &margins)
QMargins | operator+(const QMargins &margins)
QMargins | operator+(const QMargins &m1, const QMargins &m2)
QMargins | operator+(const QMargins &lhs, int rhs)
QMargins | operator+(int lhs, const QMargins &rhs)
QMargins | operator-(const QMargins &margins)
QMargins | operator-(const QMargins &m1, const QMargins &m2)
QMargins | operator-(const QMargins &lhs, int rhs)
QMargins | operator/(const QMargins &margins, int divisor)
QMargins | operator/(const QMargins &margins, qreal divisor)
QDataStream & | operator<<(QDataStream &stream, const QMargins &m)
bool | operator==(const QMargins &lhs, const QMargins &rhs)
QDataStream & | operator>>(QDataStream &stream, QMargins &m)
`(since 6.0)` QMargins | operator|(const QMargins &m1, const QMargins &m2)

## Detailed Description

QMargin defines a set of four margins; left, top, right, and bottom, that describe the size of the borders surrounding a rectangle.

The isNull() function returns `true` only if all margins are set to zero.

QMargin objects can be streamed as well as compared.

## Member Function Documentation

### `[constexpr noexcept]` QMargins::QMargins()

Constructs a margins object with all margins set to 0.

See also isNull().

### `[constexpr noexcept]` QMargins::QMargins(int left, int top, int right, int bottom)

Constructs margins with the given left, top, right, and bottom

See also setLeft(), setRight(), setTop(), and setBottom().

### `[constexpr noexcept]` int QMargins::bottom() const

Returns the bottom margin.

See also setBottom().

### `[constexpr noexcept]` bool QMargins::isNull() const

Returns `true` if all margins are is 0; otherwise returns false.

### `[constexpr noexcept]` int QMargins::left() const

Returns the left margin.

See also setLeft().

### `[constexpr noexcept]` int QMargins::right() const

Returns the right margin.

See also setRight().

### `[constexpr noexcept]` void QMargins::setBottom(int bottom)

Sets the bottom margin to bottom.

See also bottom().

### `[constexpr noexcept]` void QMargins::setLeft(int left)

Sets the left margin to left.

See also left().

### `[constexpr noexcept]` void QMargins::setRight(int right)

Sets the right margin to right.

See also right().

### `[constexpr noexcept]` void QMargins::setTop(int Top)

Sets the Top margin to Top.

See also top().

### `[constexpr noexcept, since 6.4]` QMarginsF QMargins::toMarginsF() const

Returns these margins as margins with floating point accuracy.

This function was introduced in Qt 6.4.

See also QMarginsF::toMargins().

### `[constexpr noexcept]` int QMargins::top() const

Returns the top margin.

See also setTop().

### `[constexpr noexcept]` QMargins &QMargins::operator*=(int factor)

Multiplies each component of this object by factor and returns a reference to it.

See also operator/=().

### `[constexpr noexcept]` QMargins &QMargins::operator*=(qreal factor)

This is an overloaded function.

Multiplies each component of this object by factor and returns a reference to it.

See also operator/=().

### `[constexpr noexcept]` QMargins &QMargins::operator+=(const QMargins &margins)

Add each component of margins to the respective component of this object and returns a reference to it.

See also operator-=().

### `[constexpr noexcept]` QMargins &QMargins::operator+=(int addend)

This is an overloaded function.

Adds the addend to each component of this object and returns a reference to it.

See also operator-=().

### `[constexpr noexcept]` QMargins &QMargins::operator-=(const QMargins &margins)

Subtract each component of margins from the respective component of this object and returns a reference to it.

See also operator+=().

### `[constexpr noexcept]` QMargins &QMargins::operator-=(int subtrahend)

This is an overloaded function.

Subtracts the subtrahend from each component of this object and returns a reference to it.

See also operator+=().

### `[constexpr]` QMargins &QMargins::operator/=(int divisor)

Divides each component of this object by divisor and returns a reference to it.

See also operator*=().

### `[constexpr]` QMargins &QMargins::operator/=(qreal divisor)

This is an overloaded function.

See also operator*=().

## Related Non-Members

### `[constexpr noexcept]` bool operator!=(const QMargins &lhs, const QMargins &rhs)

Returns `true` if lhs and rhs are different; otherwise returns `false`.

### `[constexpr noexcept]` QMargins operator*(const QMargins &margins, int factor)

Returns a QMargins object that is formed by multiplying each component of the given margins by factor.

See also QMargins::operator*=() and QMargins::operator/=().

### `[constexpr noexcept]` QMargins operator*(const QMargins &margins, qreal factor)

This is an overloaded function.

Returns a QMargins object that is formed by multiplying each component of the given margins by factor.

See also QMargins::operator*=() and QMargins::operator/=().

### `[constexpr noexcept]` QMargins operator*(int factor, const QMargins &margins)

This is an overloaded function.

Returns a QMargins object that is formed by multiplying each component of the given margins by factor.

See also QMargins::operator*=() and QMargins::operator/=().

### `[constexpr noexcept]` QMargins operator*(qreal factor, const QMargins &margins)

This is an overloaded function.

Returns a QMargins object that is formed by multiplying each component of the given margins by factor.

See also QMargins::operator*=() and QMargins::operator/=().

### `[constexpr noexcept]` QMargins operator+(const QMargins &margins)

Returns a QMargin object that is formed from all components of margins.

### `[constexpr noexcept]` QMargins operator+(const QMargins &m1, const QMargins &m2)

Returns a QMargins object that is the sum of the given margins, m1 and m2; each component is added separately.

See also QMargins::operator+=() and QMargins::operator-=().

### `[constexpr noexcept]` QMargins operator+(const QMargins &lhs, int rhs)

Returns a QMargins object that is formed by adding rhs to lhs.

See also QMargins::operator+=() and QMargins::operator-=().

### `[constexpr noexcept]` QMargins operator+(int lhs, const QMargins &rhs)

Returns a QMargins object that is formed by adding lhs to rhs.

See also QMargins::operator+=() and QMargins::operator-=().

### `[constexpr noexcept]` QMargins operator-(const QMargins &margins)

Returns a QMargin object that is formed by negating all components of margins.

### `[constexpr noexcept]` QMargins operator-(const QMargins &m1, const QMargins &m2)

Returns a QMargins object that is formed by subtracting m2 from m1; each component is subtracted separately.

See also QMargins::operator+=() and QMargins::operator-=().

### `[constexpr noexcept]` QMargins operator-(const QMargins &lhs, int rhs)

Returns a QMargins object that is formed by subtracting rhs from lhs.

See also QMargins::operator+=() and QMargins::operator-=().

### `[constexpr]` QMargins operator/(const QMargins &margins, int divisor)

Returns a QMargins object that is formed by dividing the components of the given margins by the given divisor.

See also QMargins::operator*=() and QMargins::operator/=().

### `[constexpr]` QMargins operator/(const QMargins &margins, qreal divisor)

This is an overloaded function.

Returns a QMargins object that is formed by dividing the components of the given margins by the given divisor.

See also QMargins::operator*=() and QMargins::operator/=().

### QDataStream &operator<<(QDataStream &stream, const QMargins &m)

Writes margin m to the given stream and returns a reference to the stream.

See also Serializing Qt Data Types.

### `[constexpr noexcept]` bool operator==(const QMargins &lhs, const QMargins &rhs)

Returns `true` if lhs and rhs are equal; otherwise returns `false`.

### QDataStream &operator>>(QDataStream &stream, QMargins &m)

Reads a margin from the given stream into margin m and returns a reference to the stream.

See also Serializing Qt Data Types.

### `[constexpr noexcept, since 6.0]` QMargins operator|(const QMargins &m1, const QMargins &m2)

Returns a QMargins object that is formed from the maximum of each component of m2 and m1.

This function was introduced in Qt 6.0.

See also QMargins::operator+=() and QMargins::operator-=().