QSize类
QSize类使用整点精度定义二维对象的大小。更多...
头文件 | #include <QSize> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员列表,包括继承成员
- QSize是绘图类的一部分。
公共函数
QSize() | |
QSize(int width, int height) | |
QSize | boundedTo(const QSize &otherSize) const |
QSize | expandedTo(const QSize &otherSize) const |
QSize | grownBy(QMargins margins) const |
int | height() const |
bool | isEmpty() const |
bool | isNull() const |
bool | isValid() const |
int & | rheight() |
int & | rwidth() |
void | scale(int width, int height, Qt::AspectRatioMode mode) |
void | scale(const QSize &size, Qt::AspectRatioMode mode) |
QSize | scaled(int width, int height, Qt::AspectRatioMode mode) const |
QSize | scaled(const QSize &s, Qt::AspectRatioMode mode) const |
void | setHeight(int height) |
void | setWidth(int width) |
QSize | shrunkBy(QMargins margins) const |
CGSize | toCGSize() const |
(since 6.4) QSizeF | toSizeF() const |
void | 转置() |
QSize | transposed() const |
int | width() const |
QSize & | operator*=(qreal factor) |
QSize & | operator+=(const QSize &size) |
QSize & | operator-=(const QSize &size) |
QSize & | operator/=(qreal divisor) |
相关非成员
bool | operator!=(const QSize &s1, const QSize &s2) |
QSize | operator*(const QSize &size, qreal factor) |
QSize | operator*(qreal factor, const QSize &size) |
QSize | operator+(const QSize &s1, const QSize &s2) |
QSize | operator-(const QSize &s1, const QSize &s2) |
QSize | operator/(const QSize &size, qreal divisor) |
QDataStream & | operator<<(QDataStream &stream, const QSize &size) |
bool | operator==(const QSize &s1, const QSize &s2) |
QDataStream & | operator>>(QDataStream &stream, QSize &size) |
详细描述
尺寸由宽度width()和高度height()指定。它可以在构造函数中设置,并可以使用setWidth()、setHeight或scale()函数进行更改,或使用算术运算符。尺寸也可以直接通过使用rwidth()和rheight()函数获取宽度和高度的引用来操作。最后,可以使用transpose()函数交换宽度和高度。
isValid()函数确定尺寸是否有效(有效的尺寸宽度和高度均大于或等于零)。isEmpty()函数如果宽度或高度小于或等于零返回true
,而isNull()函数只有在宽度和高度都为零时才返回true
。
使用expandedTo()函数检索一个包含this尺寸和给定尺寸的最大高度和宽度的尺寸。类似地,boundedTo()函数返回一个包含this尺寸和给定尺寸的最小高度和宽度的尺寸。
QSize对象可以流式传输,也可以进行比较。
成员函数文档
[constexpr noexcept]
QSize QSize::grownBy(QMargins margins) const
返回通过增长 margins得到的尺寸。
另请参阅shrunkBy()。
[constexpr noexcept]
QSize QSize::shrunkBy(QMargins margins) const
返回通过缩小 margins得到的尺寸。
另请参阅grownBy()。
[constexpr noexcept]
QSize::QSize()
构造一个无效宽度和高度(即isValid()返回false
)的尺寸。
另请参阅isValid()。
[constexpr noexcept]
QSize::QSize(int width, int height)
使用给定的 width和 height构造尺寸。
[constexpr noexcept]
QSize QSize::boundedTo(const QSize &otherSize) const
返回一个包含此尺寸和给定尺寸的最小宽度和高度的尺寸。
另请参阅 expandedTo() 和 scale()。
[constexpr noexcept]
QSize QSize::expandedTo(const QSize &otherSize) const
返回一个包含此大小和给定 otherSize 的最大宽度和高度的尺寸。
[constexpr noexcept]
int QSize::height() const
返回高度。
[constexpr noexcept]
bool QSize::isEmpty() const
如果宽度或高度任一小于或等于0,则返回 true
;否则返回 false
。
[constexpr noexcept]
bool QSize::isNull() const
如果宽度和高度都为0,则返回 true
;否则返回 false。
[constexpr noexcept]
bool QSize::isValid() const
如果宽度和高度等于或大于0,则返回 true
;否则返回 false
。
[constexpr noexcept]
int &QSize::rheight()
返回对高度的引用。
使用引用可以直接操作高度。例如
QSize size(100, 10); size.rheight() += 5; // size becomes (100,15)
[constexpr noexcept]
int &QSize::rwidth()
返回对宽度的引用。
使用引用可以直接操作宽度。例如
QSize size(100, 10); size.rwidth() += 20; // size becomes (120,10)
[noexcept]
void QSize::scale(int width, int height, Qt::AspectRatioMode mode)
将大小缩放为具有给定 width 和 height 的矩形,根据指定的 mode 进行缩放
- 如果 mode 是 Qt::IgnoreAspectRatio,则大小设置为 (width, height)。
- 如果 mode 是 Qt::KeepAspectRatio,则当前大小缩放为在 (width, height) 内尽可能大的矩形,并保持纵横比。
- 如果 mode 是 Qt::KeepAspectRatioByExpanding,则当前大小缩放为在 (width, height) 外尽可能小的矩形,并保持纵横比。
示例
QSize t1(10, 12); t1.scale(60, 60, Qt::IgnoreAspectRatio); // t1 is (60, 60) QSize t2(10, 12); t2.scale(60, 60, Qt::KeepAspectRatio); // t2 is (50, 60) QSize t3(10, 12); t3.scale(60, 60, Qt::KeepAspectRatioByExpanding); // t3 is (60, 72)
另请参阅 setWidth(),setHeight(),和 scaled()。
[noexcept]
void QSize::scale(const QSize &size, Qt::AspectRatioMode mode)
这是一个重载函数。
将大小按指定的 模式 缩放到给定的大小 size 的矩形。
[noexcept]
QSize QSize::scaled(int width, int height, Qt::AspectRatioMode mode) const
返回一个大小按指定的 宽度和高度 和 模式 缩放的矩形。
另请参阅 scale()。
[noexcept]
QSize QSize::scaled(const QSize &s, Qt::AspectRatioMode mode) const
这是一个重载函数。
按指定的 模式 返回一个大小为给定大小 s 的矩形。
[constexpr noexcept]
void QSize::setHeight(int height)
将高度设置为给定的 高度。
另请参阅 rheight(),height(),和 setWidth()。
[constexpr noexcept]
void QSize::setWidth(int width)
将宽度设置为给定的 宽度。
另请参阅 rwidth(),width(),和 setHeight()。
[noexcept]
CGSize QSize::toCGSize() const
从 QSize 创建一个 CGSize。
另请参阅 QSizeF::fromCGSize()。
[constexpr noexcept, since 6.4]
QSizeF QSize::toSizeF() const
以浮点准确度返回此大小。
此函数是在 Qt 6.4 中引入的。
另请参阅 QSizeF::toSize()。
[noexcept]
void QSize::transpose()
交换宽度和高度值。
另请参阅 setWidth(),setHeight(),和 transposed()。
[constexpr noexcept]
QSize QSize::transposed() const
返回一个宽度和高度互换的 QSize。
另请参阅 transpose()。
[constexpr noexcept]
int QSize::width() const
返回宽度。
[constexpr noexcept]
QSize &QSize::operator*=(qreal factor)
这是一个重载函数。
将宽度和高宽都乘以给定的factor,并返回尺寸的引用。
注意结果会被四舍五入到最接近的整数。
另请参阅 scale()。
[constexpr noexcept]
QSize &QSize::operator+=(const QSize &size)
将给定的size添加到this尺寸,并返回此尺寸的引用。例如
[constexpr noexcept]
QSize &QSize::operator-=(const QSize &size)
从this尺寸中减去给定的size,并返回此尺寸的引用。例如
QSize &QSize::operator/=(qreal divisor)
这是一个重载函数。
将宽度和高度都除以给定的divisor,并返回尺寸的引用。
注意结果会被四舍五入到最接近的整数。
另请参阅 QSize::scale().
相关非成员
[constexpr noexcept]
bool operator!=(const QSize &s1, const QSize &s2)
如果s1和s2不同,则返回true;否则返回false。
[constexpr noexcept]
QSize operator*(const QSize &size, qreal factor)
将给定的size乘以给定的factor,并返回四舍五入到最接近的整数的结果。
另请参阅 QSize::scale().
[constexpr noexcept]
QSize operator*(qreal factor, const QSize &size)
这是一个重载函数。
将给定的size乘以给定的factor,并返回四舍五入到最接近的整数的结果。
[constexpr noexcept]
QSize operator+(const QSize &s1, const QSize &s2)
返回s1和s2的和;每个组件分别相加。
[constexpr noexcept]
QSize operator-(const QSize &s1, const QSize &s2)
返回从s1中减去s2的结果;每个组件分别相减。
QSize operator/(const QSize &size, qreal divisor)
这是一个重载函数。
将给定的size除以给定的除数,并返回四舍五入到最接近整数的计算结果。
另请参阅 QSize::scale().
QDataStream &operator<<(QDataStream &stream, const QSize &size)
将给定的size写入给定的流,并返回对流的引用。
另请参阅 序列化 Qt 数据类型.
[ constexpr noexcept ]
bool operator==(const QSize &s1, const QSize &s2)
如果s1和s2相等,则返回true
;否则返回false
。
QDataStream &operator>>(QDataStream &stream, QSize &size)
从给定的流读取一个大小到给定的size,并返回对流的引用。
另请参阅 序列化 Qt 数据类型.
© 2024 Qt 公司 Ltd. 本文档中的贡献知识产权归其所有者所有。提供的文档受自由软件基金会发布的GNU自由文档许可版本1.3的条款所许可。Qt以及相应的商标是芬兰的Qt公司及其在全球的子公司和关联公司的商标。所有其他商标均为其所有者的财产。