本页内容

QMarginsF Class

QMarginsF 类定义了矩形的四个边距。更多内容...

头文件: #include <QMarginsF>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

QMarginsF 比较

类别可比较类型
相等性QMarginsF
相等性QMargins.

公共函数

QMarginsF()
QMarginsF(const QMargins &margins)
QMarginsF(qreal left, qreal top, qreal right, qreal bottom)
qreal bottom() const
bool isNull() const
qreal left() const
qreal right() const
void setBottom(qreal abottom)
void setLeft(qreal aleft)
void setRight(qreal aright)
void setTop(qreal atop)
QMargins toMargins() const
qreal top() const
QMarginsF &operator*=(qreal factor)
QMarginsF &operator+=(const QMarginsF &margins)
QMarginsF &operator+=(qreal addend)
QMarginsF &operator-=(const QMarginsF &margins)
QMarginsF &operator-=(qreal subtrahend)
QMarginsF &operator/=(qreal divisor)
(since 6.8) bool qFuzzyCompare(const QMarginsF &lhs, const QMarginsF &rhs)
(since 6.8) bool qFuzzyIsNull(const QMarginsF &margins)
bool operator!=(const QMarginsF &lhs, const QMarginsF &rhs)
QMarginsF operator*(const QMarginsF &lhs, qreal rhs)
QMarginsF operator*(qreal lhs, const QMarginsF &rhs)
QMarginsF operator+(const QMarginsF &margins)
QMarginsF operator+(const QMarginsF &lhs, const QMarginsF &rhs)
QMarginsF operator+(const QMarginsF &lhs, qreal rhs)
QMarginsF operator+(qreal lhs, const QMarginsF &rhs)
QMarginsF operator-(const QMarginsF &margins)
QMarginsF operator-(const QMarginsF &lhs, const QMarginsF &rhs)
QMarginsF operator-(const QMarginsF &lhs, qreal rhs)
QMarginsF operator/(const QMarginsF &lhs, qreal rhs)
QDataStream &operator<<(QDataStream &stream, const QMarginsF &m)
bool operator==(const QMarginsF &lhs, const QMarginsF &rhs)
QDataStream &operator>>(QDataStream &stream, QMarginsF &m)
(since 6.0) QMarginsF operator|(const QMarginsF &m1, const QMarginsF &m2)

详细说明

QMarginsF 定义了一组由四个边距(左、上、右、下)组成的集合,这些边距描述了矩形周围边框的有限尺寸。

只有当所有边距都非常接近零时,isNull() 函数才会返回true 。

QMarginsF 对象既可以进行流式处理,也可以进行比较。

成员函数文档

[constexpr noexcept] QMarginsF::QMarginsF()

创建一个所有边距均设置为 0 的 margins 对象。

另请参阅 isNull()。

[constexpr noexcept] QMarginsF::QMarginsF(const QMargins &margins)

根据给定的margins 生成边距。

另请参阅 QMargins::toMarginsF()。

[constexpr noexcept] QMarginsF::QMarginsF(qreal left, qreal top, qreal right, qreal bottom)

使用给定的left 、top 、right 和bottom 构建边距。所有参数必须为有限值。

另请参阅 setLeft()、setRight()、setTop() 和setBottom()。

[constexpr noexcept] qreal QMarginsF::bottom() const

返回底部边距。

另请参阅 setBottom()。

[constexpr noexcept] bool QMarginsF::isNull() const

如果所有边距都非常接近 0,则返回true ;否则返回 false。

另请参阅 qFuzzyIsNull()。

[constexpr noexcept] qreal QMarginsF::left() const

返回左边距。

另请参阅 ` setLeft()`。

返回右边距。

另请参阅 setRight()。

[constexpr noexcept] void QMarginsF::setBottom(qreal abottom)

将底部边距设置为abottom (该值必须为有限数)。

另请参阅 bottom()。

[constexpr noexcept] void QMarginsF::setLeft(qreal aleft)

将左边距设置为aleft (该值必须为有限数)。

另请参阅 left()。

[constexpr noexcept] void QMarginsF::setRight(qreal aright)

将右边距设置为aright (该值必须为有限值)。

另请参阅 right()。

[constexpr noexcept] void QMarginsF::setTop(qreal atop)

将顶部边距设置为atop (该值必须是有限的)。

另请参阅 top()。

[constexpr noexcept] QMargins QMarginsF::toMargins() const

返回该 margins 对象的一个以整数为基准的副本。

请注意,返回的 margins 中的各分量将被四舍五入到最接近的整数。

另请参阅 QMarginsF() 和QMargins::toMarginsF()。

[constexpr noexcept] qreal QMarginsF::top() const

返回顶部边距。

另请参阅 ` setTop()`。

[constexpr noexcept] QMarginsF &QMarginsF::operator*=(qreal factor)

将该对象的每个分量乘以给定的有限factor ,并返回对该对象的引用。

另请参阅 operator/=()。

[constexpr noexcept] QMarginsF &QMarginsF::operator+=(const QMarginsF &margins)

将margins 的每个组件添加到该对象的相应组件中,并返回对其的引用。

另请参阅 operator-=()。

[constexpr noexcept] QMarginsF &QMarginsF::operator+=(qreal addend)

将给定的有限addend 添加到该对象的每个分量上,并返回对其的引用。

这是一个重载函数。

另请参阅 operator-=()。

[constexpr noexcept] QMarginsF &QMarginsF::operator-=(const QMarginsF &margins)

从该对象的相应组件中减去margins 的每个组件,并返回对其的引用。

另请参阅 operator+=()。

[constexpr noexcept] QMarginsF &QMarginsF::operator-=(qreal subtrahend)

从该对象的每个分量中减去给定的有限subtrahend ,并返回对其的引用。

这是一个重载函数。

另请参阅 operator+=()。

[constexpr] QMarginsF &QMarginsF::operator/=(qreal divisor)

将该对象的每个分量除以divisor ,并返回对该对象的引用。

divisor 不能为零或 NaN。

另请参阅 operator*=()。

相关非成员

[constexpr noexcept, since 6.8] bool qFuzzyCompare(const QMarginsF &lhs, const QMarginsF &rhs)

如果 `lhs ` 近似等于 `rhs`,则返回 `true `;否则返回 `false`。

该函数于 Qt 6.8 版本中引入。

[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QMarginsF &margins)

如果 margsinsmargins 的所有分量近似等于零,则返回true ;否则返回false 。

该函数在 Qt 6.8 中引入。

[constexpr noexcept] bool operator!=(const QMarginsF &lhs, const QMarginsF &rhs)

如果 `lhs ` 和 `rhs ` 差异足够大,则返回 `true `;否则返回 `false`。

警告:此 函数不会检查严格不等关系;而是使用模糊比较来比较边距。

另请参阅 qFuzzyCompare 。

[constexpr noexcept] QMarginsF operator*(const QMarginsF &lhs, qreal rhs)

返回一个QMarginsF 对象,该对象是通过将给定的lhs 边距的每个分量乘以有限因子rhs 生成的。

这是一个重载函数。

另请参阅 QMarginsF::operator*=() 和QMarginsF::operator/=()。

[constexpr noexcept] QMarginsF operator*(qreal lhs, const QMarginsF &rhs)

返回一个QMarginsF 对象,该对象通过将给定lhs 边距的每个分量乘以有限因子rhs 生成。

这是一个重载函数。

另请参阅 QMarginsF::operator*=() 和QMarginsF::operator/=()。

[constexpr noexcept] QMarginsF operator+(const QMarginsF &margins)

返回一个由margins 的所有组件构成的QMargin对象。

[constexpr noexcept] QMarginsF operator+(const QMarginsF &lhs, const QMarginsF &rhs)

返回一个QMarginsF 对象,该对象是给定边距lhs 和rhs 的总和;每个分量分别相加。

另请参阅 QMarginsF::operator+=() 和QMarginsF::operator-=()。

[constexpr noexcept] QMarginsF operator+(const QMarginsF &lhs, qreal rhs)

返回一个由QMarginsF 对象,该对象通过将rhs (该值必须是有限的)加到lhs 的每个分量上而形成。

另请参阅 QMarginsF::operator+=() 和QMarginsF::operator-=()。

[constexpr noexcept] QMarginsF operator+(qreal lhs, const QMarginsF &rhs)

返回一个QMarginsF 对象,该对象通过将lhs (该值必须是有限的)加到rhs 的每个分量上而形成。

另请参阅 QMarginsF::operator+=() 和QMarginsF::operator-=()。

[constexpr noexcept] QMarginsF operator-(const QMarginsF &margins)

返回一个 QMargin 对象,该对象由将 `margins` 的所有分量取反后形成。

[constexpr noexcept] QMarginsF operator-(const QMarginsF &lhs, const QMarginsF &rhs)

返回一个QMarginsF 对象,该对象由从lhs 中减去rhs 得到;每个分量分别进行减法运算。

另请参阅 QMarginsF::operator+=() 和QMarginsF::operator-=()。

[constexpr noexcept] QMarginsF operator-(const QMarginsF &lhs, qreal rhs)

返回一个QMarginsF 对象,该对象是通过从lhs 的每个分量中减去rhs (该值必须是有限的)而形成的。

另请参阅 QMarginsF::operator+=() 和QMarginsF::operator-=()。

[constexpr] QMarginsF operator/(const QMarginsF &lhs, qreal rhs)

返回一个QMarginsF 对象,该对象由将给定的lhs 间距的各分量除以给定的rhs 除数而形成。

除数不能为零或 NaN。

另请参阅 QMarginsF::operator*=() 和QMarginsF::operator/=()。

QDataStream &operator<<(QDataStream &stream, const QMarginsF &m)

将边距m 写入给定的stream ,并返回该流的引用。

另请参阅 《Qt 数据类型的序列化》。

[constexpr noexcept] bool operator==(const QMarginsF &lhs, const QMarginsF &rhs)

如果 `lhs ` 和 `rhs ` 大致相等,则返回 `true `;否则返回 `false`。

警告:此 函数不检查严格相等性;而是使用模糊比较来比较边距。

另请参阅 qFuzzyCompare 。

QDataStream &operator>>(QDataStream &stream, QMarginsF &m)

从给定的stream 中读取一个边距到m 中,并返回对该流的引用。

另请参阅 《Qt 数据类型的序列化》。

[constexpr noexcept, since 6.0] QMarginsF operator|(const QMarginsF &m1, const QMarginsF &m2)

返回一个由 `m2 ` 和 `m1` 的各分量最大值组成的 `QMarginsF ` 对象。

该函数在 Qt 6.0 中引入。

另请参阅 QMarginsF::operator+=() 和QMarginsF::operator-=()。

© 2026 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.