# 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.

*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-=().

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.