QSizeF 类
QSizeF 类用于使用浮点精度定义二维对象的大小。更多...
头文件 | #include <QSizeF> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 包括继承成员在内的所有成员列表
- QSizeF 是 绘图类 的一部分。
公共函数
QSizeF() | |
QSizeF(const QSize &size) | |
QSizeF(qreal width, qreal height) | |
QSizeF | boundedTo(const QSizeF &otherSize) const |
QSizeF | expandedTo(const QSizeF &otherSize) const |
QSizeF | grownBy(QMarginsF margins) const |
qreal | height() const |
bool | isEmpty() const |
bool | isNull() const |
bool | isValid() const |
qreal & | rheight() |
qreal & | rwidth() |
void | scale(qreal width, qreal height, Qt::AspectRatioMode mode) |
void | scale(const QSizeF &size, Qt::AspectRatioMode mode) |
QSizeF | scaled(qreal width, qreal height, Qt::AspectRatioMode mode) const |
QSizeF | scaled(const QSizeF &s, Qt::AspectRatioMode mode) const |
void | setHeight(qreal height) |
void | setWidth(qreal width) |
QSizeF | shrunkBy(QMarginsF margins) const |
CGSize | toCGSize() const |
QSize | toSize() const |
void | 转置() |
QSizeF | transposed() const |
qreal | width() const |
QSizeF & | operator*=(qreal factor) |
QSizeF & | operator+=(const QSizeF &size) |
QSizeF & | operator-=(const QSizeF &size) |
QSizeF & | operator/=(qreal divisor) |
静态公共成员
QSizeF | fromCGSize(CGSize size) |
相关非成员
bool | operator!=(const QSizeF &s1, const QSizeF &s2) |
QSizeF | operator*(const QSizeF &size, qreal factor) |
QSizeF | operator*(qreal factor, const QSizeF &size) |
QSizeF | operator+(const QSizeF &s1, const QSizeF &s2) |
QSizeF | operator-(const QSizeF &s1, const QSizeF &s2) |
QSizeF | operator/(const QSizeF &size, qreal divisor) |
QDataStream & | operator<<(QDataStream &stream, const QSizeF &size) |
bool | operator==(const QSizeF &s1, const QSizeF &) |
QDataStream & | operator>>(QDataStream &stream, QSizeF &size) |
详细描述
大小由 width() 和 height() 指定。它可以由构造函数设置,并通过使用 setWidth(),setHeight() 或 scale() 函数来更改,或者使用算术运算符。还可以通过使用 rwidth() 和 rheight() 函数直接操作大小。最后,可以使用 transpose() 函数交换宽度和高度。
isValid() 函数确定大小是否有效。有效的大小宽度和高都大于或等于零。当宽度或高度中任何一个是小于(或等于)零时,isEmpty() 函数返回 true
,而 isNull() 函数只有在宽度和高度都为零时才返回 true
。
使用 expandedTo() 函数检索一个大小,该大小包含此大小给定大小的最大高度和宽度。类似地,boundedTo() 函数返回一个大小,该大小包含此大小给定大小的最小高度和宽度。
QSizeF 类还提供了 toSize() 函数,该函数返回此大小的一个 QSize 复制品,由四舍五入宽度和高度到最近的整数构建。
QSizeF 对象也可以进行流操作以及比较。
成员函数文档
[constexpr noexcept]
QSizeF QSizeF::grownBy(QMarginsF margins) const
返回通过 margins 增长此大小的结果。
另请参阅shrunkBy。
[constexpr noexcept]
QSizeF QSizeF::shrunkBy(QMarginsF margins) const
返回通过 margins 缩小此大小的结果。
另请参阅grownBy。
[constexpr noexcept]
QSizeF::QSizeF()
构造一个无效的大小。
另请参阅isValid。
[constexpr noexcept]
QSizeF::QSizeF(const QSize &size)
使用给定 size 构造具有浮点精度的大小。
另请参阅toSize() 和 QSize::toSizeF。
[constexpr noexcept]
QSizeF::QSizeF(qreal width, qreal height)
使用给定的有限宽度和高度创建一个大小。
[constexpr noexcept]
QSizeF QSizeF::boundedTo(const QSizeF &otherSize) const
返回一个包含这个大小和给定的otherSize的最小宽度和高度的大小。
另请参阅expandedTo() 和 scale。
[constexpr noexcept]
QSizeF QSizeF::expandedTo(const QSizeF &otherSize) const
返回一个包含这个大小和给定的otherSize的最大宽度和高度的大小。
[static noexcept]
QSizeF QSizeF::fromCGSize(CGSize size)
从size创建一个QRectF。
另请参阅toCGSize。
[constexpr noexcept]
qreal QSizeF::height() const
返回高度。
[constexpr noexcept]
bool QSizeF::isEmpty() const
如果宽度和高度中的任何一个小于或等于0,则返回true
;否则返回false
。
[noexcept]
bool QSizeF::isNull() const
如果宽度和高度都为0.0(忽略符号),则返回true
;否则返回false
。
[constexpr noexcept]
bool QSizeF::isValid() const
如果宽度和高度都等于或大于0,则返回true
;否则返回false
。
[constexpr noexcept]
qreal &QSizeF::rheight()
返回对高度的引用。
使用引用可以直接操作高度。例如
QSizeF size(100, 10.2); size.rheight() += 5.5; // size becomes (100,15.7)
[constexpr noexcept]
qreal &QSizeF::rwidth()
返回对宽度的引用。
使用引用可以直接操作宽度。例如:
QSizeF size(100.3, 10); size.rwidth() += 20.5; // size becomes (120.8,10)
[noexcept]
void QSizeF::scale(qreal width, qreal height, Qt::AspectRatioMode mode)
根据指定的 mode,将尺寸缩放为具有给定 width 和 height 的矩形。
- 如果 mode 是 Qt::IgnoreAspectRatio,则将尺寸设置为 (width, height)。
- 如果 mode 是 Qt::KeepAspectRatio,则当前尺寸缩放为在 (width, height) 内可以容纳的最大矩形,保持宽高比。
- 如果 mode 是 Qt::KeepAspectRatioByExpanding,则当前尺寸缩放为在 (width, height) 外可以容纳的最小矩形,保持宽高比。
示例:
QSizeF t1(10, 12); t1.scale(60, 60, Qt::IgnoreAspectRatio); // t1 is (60, 60) QSizeF t2(10, 12); t2.scale(60, 60, Qt::KeepAspectRatio); // t2 is (50, 60) QSizeF t3(10, 12); t3.scale(60, 60, Qt::KeepAspectRatioByExpanding); // t3 is (60, 72)
另请参阅 setWidth()、setHeight() 和 scaled()。
[noexcept]
void QSizeF::scale(const QSizeF &size, Qt::AspectRatioMode mode)
这是一个重载函数。
根据指定的 mode,将尺寸缩放为具有给定 size 的矩形。
[noexcept]
QSizeF QSizeF::scaled(qreal width, qreal height, Qt::AspectRatioMode mode) const
返回一个尺寸缩放为具有给定 width 和 height 的矩形,根据指定的 mode。
另请参阅 scale()。
[constexpr noexcept]
QSizeF QSizeF::scaled(const QSizeF &s, Qt::AspectRatioMode mode) const
这是一个重载函数。
返回一个尺寸缩放为具有给定大小 s 的矩形,根据指定的 mode。
[constexpr noexcept]
void QSizeF::setHeight(qreal height)
将高度设置为给定的有限 height。
另请参阅 height()、rheight() 和 setWidth()。
[constexpr noexcept]
void QSizeF::setWidth(qreal width)
将宽度设置为给定的有限 width。
另请参阅 width()、rwidth() 和 setHeight()。
[noexcept]
CGSize QSizeF::toCGSize() const
从 QSizeF 创建一个CGSize对象。
另请参阅fromCGSize()。
[constexpr noexcept]
QSize QSizeF::toSize() const
返回此大小的整数副本。
请注意,返回的大小中的坐标将被四舍五入到最接近的整数。
另请参阅QSizeF() 和 QSize::toSizeF()。
[noexcept]
void QSizeF::transpose()
交换宽度和高度值。
另请参阅setWidth(),setHeight(),和 transposed()。
[constexpr noexcept]
QSizeF QSizeF::transposed() const
返回宽度和高度值交换后的尺寸。
另请参阅transpose()。
[constexpr noexcept]
qreal QSizeF::width() const
返回宽度。
[constexpr noexcept]
QSizeF &QSizeF::operator*=(qreal factor)
这是一个重载函数。
将宽度和高度乘以给定的有限 factor,并返回尺寸的引用。
另请参阅 scale()。
[constexpr noexcept]
QSizeF &QSizeF::operator+=(const QSizeF &size)
将给定的 size 添加到此尺寸,并返回此尺寸的引用。例如
[constexpr noexcept]
QSizeF &QSizeF::operator-=(const QSizeF &size)
从此尺寸减去给定的 size,并返回此尺寸的引用。例如
QSizeF &QSizeF::operator/=(qreal divisor)
这是一个重载函数。
将宽度和高度除以给定的 divisor,并返回尺寸的引用。该 divisor 必须不能是零或 NaN。
另请参阅 scale()。
相关非成员函数
[constexpr]
bool operator!=(const QSizeF &s1, const QSizeF &s2)
如果 s1 和 s2 差异足够大,则返回 true
;否则返回 false
。
警告:此函数不检查严格不等式;而是使用模糊比较来比较尺寸的范围。
[constexpr noexcept]
QSizeF operator*(const QSizeF &size, qreal factor)
这是一个重载函数。
将给定的size乘以给定的有限factor并返回结果。
另请参阅QSizeF::scale。
[constexpr noexcept]
QSizeF operator*(qreal factor, const QSizeF &size)
这是一个重载函数。
将给定的size乘以给定的有限factor并返回结果。
[constexpr noexcept]
QSizeF operator+(const QSizeF &s1, const QSizeF &s2)
返回s1和s2的和;每个分量分别相加。
[constexpr noexcept]
QSizeF operator-(const QSizeF &s1, const QSizeF &s2)
从s1中减去s2,每个分量分别相减。
QSizeF operator/(const QSizeF &size, qreal divisor)
这是一个重载函数。
将给定的size除以给定的divisor并返回结果。除数不能为零或NaN。
另请参阅QSizeF::scale。
QDataStream &operator<<(QDataStream &stream, const QSizeF &size)
将给定的size写入给定的stream并返回流的一个引用。
另请参阅序列化 Qt 数据类型。
[constexpr]
bool operator==(const QSizeF &s1, const QSizeF &s2)
如果s1和s2大致相等,则返回true
;否则返回false。
警告:此函数不检查严格的相等性;相反,它使用模糊比较来比较尺寸的范围。
另请参阅qFuzzyCompare。
QDataStream &operator>>(QDataStream &stream, QSizeF &size)
从给定的stream读取一个大小并写入给定的size中,并返回流的一个引用。
另请参阅序列化 Qt 数据类型。
© 2024 Qt公司有限 公司。本文件中的文档贡献归其各自的版权拥有者所有。本文件提供的文档根据自由软件基金会发布的GNU自由文档许可协议版本1.3的条款获得许可。GNU自由文档许可协议版本1.3已发布。Qt及其相关标志是芬兰和/或其他国家/地区的Qt公司注册商标。所有其他商标均为其各自的拥有者所有。