QSizeF 類使用浮點精度定義 2D 對象的大小。 更多...
| 頭: |
#include <QSizeF>
|
| CMake: |
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
|
| qmake: |
QT += core
|
| 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 | transpose () |
| 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 ) |
(從 6.8 起)
bool
|
qFuzzyCompare (const QSizeF & lhs , const QSizeF & rhs ) |
(從 6.8 起)
bool
|
qFuzzyIsNull (const QSizeF & size ) |
| bool | operator!= (const QSizeF & lhs , const QSizeF & rhs ) |
| 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 & lhs , const QSizeF & rhs ) |
| QDataStream & | operator>> (QDataStream & stream , QSizeF & size ) |
大小的指定是通過 width () 和 height ()。可以在構造函數中設置它和改變使用 setWidth (), setHeight (),或 scale () 函數,或使用算術運算符。也可以直接操縱尺寸通過檢索寬度和高度的引用使用 rwidth () 和 rheight () 函數。最後,可以交換寬度和高度使用 transpose () 函數。
The
isValid
() function determines if a size is valid. A valid size has both width and height greater than or equal to zero. The
isEmpty
() 函數返迴
true
if either of the width and height is
less
than (or equal to) zero, while the
isNull
() 函數返迴
true
僅當寬度和高度兩者為 0 時。
使用 expandedTo () function to retrieve a size which holds the maximum height and width of this size and a given size. Similarly, the boundedTo () 函數返迴由此尺寸和給定尺寸保持的最小高度 寬度的尺寸。
The QSizeF class also provides the toSize () function returning a QSize copy of this size, constructed by rounding the width and height to the nearest integers.
QSizeF objects can be streamed as well as compared.
另請參閱 QSize , QPointF ,和 QRectF .
[constexpr noexcept]
QSizeF
QSizeF::
grownBy
(
QMarginsF
margins
) const
返迴尺寸産生自此尺寸的增長按 margins .
另請參閱 shrunkBy ().
[constexpr noexcept]
QSizeF
QSizeF::
shrunkBy
(
QMarginsF
margins
) const
返迴尺寸産生從此尺寸的收縮按 margins .
另請參閱 grownBy ().
[constexpr noexcept]
QSizeF::
QSizeF
()
Constructs an invalid size.
另請參閱 isValid ().
[constexpr noexcept]
QSizeF::
QSizeF
(const
QSize
&
size
)
Constructs a size with floating point accuracy from the given size .
另請參閱 toSize () 和 QSize::toSizeF ().
[constexpr noexcept]
QSizeF::
QSizeF
(
qreal
width
,
qreal
height
)
Constructs a size with the given finite width and 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
)
創建 QSizeF from size .
另請參閱 toCGSize ().
[constexpr noexcept]
qreal
QSizeF::
height
() const
返迴高度。
[constexpr noexcept]
bool
QSizeF::
isEmpty
() const
返迴
true
若寬度和高度兩者任一 <= 0;否則返迴
false
.
[noexcept]
bool
QSizeF::
isNull
() const
返迴
true
若寬度和高度兩者為 0.0 (忽略正負號);否則返迴
false
.
[constexpr noexcept]
bool
QSizeF::
isValid
() const
返迴
true
if both the width and height are equal to or greater than 0; otherwise returns
false
.
[constexpr noexcept]
qreal
&QSizeF::
rheight
()
返迴高度的引用。
使用引用使直接操縱高度成為可能。例如:
QSizeF size(100, 10.2); size.rheight() += 5.5; // size becomes (100,15.7)
另請參閱 rwidth () 和 setHeight ().
[constexpr noexcept]
qreal
&QSizeF::
rwidth
()
返迴寬度的引用。
使用引用使直接操縱寬度成為可能。例如:
QSizeF size(100.3, 10); size.rwidth() += 20.5; // size becomes (120.8,10)
另請參閱 rheight () 和 setWidth ().
[noexcept]
void
QSizeF::
scale
(
qreal
width
,
qreal
height
,
Qt::AspectRatioMode
mode
)
把尺寸比例縮放到矩形采用給定 width and height ,根據指定 mode .
範例:
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
)
這是重載函數。
把尺寸比例縮放到矩形采用給定 size ,根據指定 mode .
[noexcept]
QSizeF
QSizeF::
scaled
(
qreal
width
,
qreal
height
,
Qt::AspectRatioMode
mode
) const
Returns a size scaled to a rectangle with the given width and height ,根據指定 mode .
另請參閱 scale ().
[noexcept]
QSizeF
QSizeF::
scaled
(const
QSizeF
&
s
,
Qt::AspectRatioMode
mode
) const
這是重載函數。
Returns a size scaled to a rectangle with the given size s ,根據指定 mode .
[constexpr noexcept]
void
QSizeF::
setHeight
(
qreal
height
)
Sets the height to the given finite height .
另請參閱 height (), rheight (),和 setWidth ().
[constexpr noexcept]
void
QSizeF::
setWidth
(
qreal
width
)
Sets the width to the given finite width .
另請參閱 width (), rwidth (),和 setHeight ().
[noexcept]
CGSize
QSizeF::
toCGSize
() const
創建 CGSize 從 QSizeF .
另請參閱 fromCGSize ().
[constexpr noexcept]
QSize
QSizeF::
toSize
() const
Returns an integer based copy of this size.
Note that the coordinates in the returned size will be rounded to the nearest integer.
另請參閱 QSizeF () 和 QSize::toSizeF ().
[noexcept]
void
QSizeF::
transpose
()
交換寬度和高度值。
另請參閱 setWidth (), setHeight (),和 transposed ().
[constexpr noexcept]
QSizeF
QSizeF::
transposed
() const
Returns the size with width and height values swapped.
另請參閱 transpose ().
[constexpr noexcept]
qreal
QSizeF::
width
() const
返迴寬度。
[constexpr noexcept]
QSizeF
&QSizeF::
operator*=
(
qreal
factor
)
這是重載函數。
Multiplies both the width and height by the given finite factor and returns a reference to the size.
另請參閱 scale ().
[constexpr noexcept]
QSizeF
&QSizeF::
operator+=
(const
QSizeF
&
size
)
添加給定 size to this size and returns a reference to this size. For example:
QSizeF s( 3, 7); QSizeF r(-1, 4); s += r; // s becomes (2,11)
[constexpr noexcept]
QSizeF
&QSizeF::
operator-=
(const
QSizeF
&
size
)
減去給定 size from this size and returns a reference to this size. For example:
QSizeF s( 3, 7); QSizeF r(-1, 4); s -= r; // s becomes (4,3)
這是重載函數。
寬度和高度兩者除以給定 divisor and returns a reference to the size. The divisor must not be either zero or NaN.
另請參閱 scale ().
[constexpr noexcept, since 6.8]
bool
qFuzzyCompare
(const
QSizeF
&
lhs
, const
QSizeF
&
rhs
)
返迴
true
if the size
lhs
is approximately equal to the size
rhs
;否則返迴
false
.
The sizes are considered approximately equal if their width and height are approximately equal.
該函數在 Qt 6.8 引入。
[constexpr noexcept, since 6.8]
bool
qFuzzyIsNull
(const
QSizeF
&
size
)
返迴
true
if both width and height of the size
size
are approximately equal to zero.
該函數在 Qt 6.8 引入。
[constexpr noexcept]
bool
operator!=
(const
QSizeF
&
lhs
, const
QSizeF
&
rhs
)
返迴
true
if
lhs
and
rhs
are sufficiently different; otherwise returns
false
.
警告: This function does not check for strict inequality; instead, it uses a fuzzy comparison to compare the sizes' extents.
[constexpr noexcept]
QSizeF
operator*
(const
QSizeF
&
size
,
qreal
factor
)
這是重載函數。
乘以給定 size by the given finite factor and returns the result.
另請參閱 QSizeF::scale ().
[constexpr noexcept]
QSizeF
operator*
(
qreal
factor
, const
QSizeF
&
size
)
這是重載函數。
乘以給定 size by the given finite factor and returns the result.
[constexpr noexcept]
QSizeF
operator+
(const
QSizeF
&
s1
, const
QSizeF
&
s2
)
返迴和對於 s1 and s2 ;各分量分彆相加。
[constexpr noexcept]
QSizeF
operator-
(const
QSizeF
&
s1
, const
QSizeF
&
s2
)
返迴 s2 減去 s1 ;分彆減去各分量。
這是重載函數。
除以給定 size 通過給定 divisor and returns the result. The divisor must not be either zero or NaN.
另請參閱 QSizeF::scale ().
寫入給定 size 到給定 stream 並返迴流引用。
另請參閱 序列化 Qt 數據類型 .
[constexpr noexcept]
bool
operator==
(const
QSizeF
&
lhs
, const
QSizeF
&
rhs
)
返迴
true
if
lhs
and
rhs
are approximately equal; otherwise returns false.
警告: This function does not check for strict equality; instead, it uses a fuzzy comparison to compare the sizes' extents.
另請參閱 qFuzzyCompare .
讀取大小從給定 stream 進給定 size 並返迴流引用。
另請參閱 序列化 Qt 數據類型 .