QSizeF Class
QSizeF クラスは、浮動小数点精度を用いて 2 次元オブジェクトのサイズを定義します。詳細...
| ヘッダー: | #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 | 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) |
関連する非メンバー
(since 6.8) bool | qFuzzyCompare(const QSizeF &lhs, const QSizeF &rhs) |
(since 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() 関数を使用して、幅と高さを入れ替えることができます。
isValid() 関数は、サイズが有効かどうかを判定します。有効なサイズとは、幅と高さの両方が 0 以上であるものです。isEmpty() 関数は、幅または高さのいずれかが 0未満(または 0 以下)の場合に `true ` を返し、isNull() 関数は、幅と高さの両方が 0 の場合にのみ `true ` を返します。
expandedTo() 関数を使用すると、このサイズと指定されたサイズの最大の高さと幅を持つサイズを取得できます。同様に、boundedTo() 関数は、このサイズと指定されたサイズの最小の高さと幅を持つサイズを返します。
QSizeF クラスは、幅と高さを最も近い整数に丸めて構築された、このサイズのQSize コピーを返すtoSize() 関数も提供しています。
QSizeF オブジェクトは、比較だけでなくストリーム処理も可能です。
QSize 、QPointF 、およびQRectFも参照してください 。
メンバ関数のドキュメント
[constexpr noexcept] QSizeF::QSizeF()
無効なサイズを構築します。
isValid()も参照してください 。
[constexpr noexcept] QSizeF::QSizeF(const QSize &size)
指定されたsize から、浮動小数点精度を持つサイズを生成します。
toSize() およびQSize::toSizeF()も参照してください 。
[constexpr noexcept] QSizeF::QSizeF(qreal width, qreal height)
指定された有限width およびheight を用いて、サイズを構築します。
[constexpr noexcept] QSizeF QSizeF::boundedTo(const QSizeF &otherSize) const
このサイズと、指定されたotherSize の最小幅および最小高さを格納したサイズを返します。
expandedTo() およびscale()も参照してください 。
[constexpr noexcept] QSizeF QSizeF::expandedTo(const QSizeF &otherSize) const
このサイズと、指定されたotherSize の最大幅および最大高さを保持するサイズを返します。
boundedTo() およびscale()も参照してください 。
[static noexcept] QSizeF QSizeF::fromCGSize(CGSize size)
size からQSizeF を作成します。
toCGSize()も参照してください 。
[constexpr noexcept] QSizeF QSizeF::grownBy(QMarginsF margins) const
このサイズに `margins` を加算した結果のサイズを返します。
shrunkBy()も参照してください 。
[constexpr noexcept] qreal QSizeF::height() const
高さを返します。
width() およびsetHeight()も参照してください 。
[constexpr noexcept] bool QSizeF::isEmpty() const
幅または高さのいずれかが0以下である場合はtrue を返し、それ以外の場合はfalse を返します。
isNull() およびisValid()も参照してください 。
[noexcept] bool QSizeF::isNull() const
幅と高さの両方が 0.0 の場合(符号は無視)、true を返します。それ以外の場合は、false を返します。
isValid() およびisEmpty()も参照してください 。
[constexpr noexcept] bool QSizeF::isValid() const
幅と高さの両方が 0 以上の場合、true を返します。それ以外の場合は、false を返します。
isNull() およびisEmpty()も参照してください 。
[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 ` および `height` に基づき、指定された `mode` に従って、サイズを長方形にスケーリングします。
- 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)
指定されたsize を持つ長方形に、指定されたmode に従ってサイズをスケーリングします。
これはオーバーロードされた関数です。
[noexcept] QSizeF QSizeF::scaled(qreal width, qreal height, Qt::AspectRatioMode mode) const
指定された `width ` および `height` に基づき、指定された `mode` に従って、長方形にサイズ調整された画像を返します。
scale()も参照してください 。
[noexcept] QSizeF QSizeF::scaled(const QSizeF &s, Qt::AspectRatioMode mode) const
指定されたmode に従い、指定されたサイズs の矩形にスケーリングされたサイズを返します。
これはオーバーロードされた関数です。
[constexpr noexcept] void QSizeF::setHeight(qreal height)
高さを指定された有限値height に設定します。
height()、rheight()、およびsetWidth()も参照してください 。
[constexpr noexcept] void QSizeF::setWidth(qreal width)
幅を、指定された有限値width に設定します。
width()、rwidth()、およびsetHeight()も参照してください 。
[constexpr noexcept] QSizeF QSizeF::shrunkBy(QMarginsF margins) const
このサイズをmargins で縮小した結果のサイズを返します。
grownBy()も参照してください 。
[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
幅を返します。
height() およびsetWidth()も参照してください 。
[constexpr noexcept] QSizeF &QSizeF::operator*=(qreal factor)
幅と高さの両方に、指定された有限のfactor を乗算し、そのサイズへの参照を返します。
scale()も参照してください 。
[constexpr noexcept] QSizeF &QSizeF::operator+=(const QSizeF &size)
指定されたsize をこのsizeに追加し、このsizeへの参照を返します。例:
[constexpr noexcept] QSizeF &QSizeF::operator-=(const QSizeF &size)
指定されたsize をこのサイズから差し引き、このサイズへの参照を返します。例:
QSizeF &QSizeF::operator/=(qreal divisor)
幅と高さの両方を指定されたdivisor で割り、そのサイズへの参照を返します。divisor は、0またはNaNであってはなりません。
scale()も参照してください 。
関連する非メンバー関数
[constexpr noexcept, since 6.8] bool qFuzzyCompare(const QSizeF &lhs, const QSizeF &rhs)
サイズ `lhs ` がサイズ `rhs` とほぼ等しい場合は `true ` を返し、そうでない場合は `false` を返します。
幅と高さがほぼ等しい場合、サイズxml-ph-0001@deepl.internalとサイズxml-ph-0002@deepl.internalはほぼ等しいとみなされます。
この関数は Qt 6.8 で導入されました。
[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QSizeF &size)
サイズ `size ` の幅と高さの両方がほぼゼロである場合、true を返します。
この関数は Qt 6.8 で導入されました。
[constexpr noexcept] bool operator!=(const QSizeF &lhs, const QSizeF &rhs)
lhs とrhs が十分に異なる場合は `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)
`s2 ` から `s1` を差し引いた値を返します。各構成要素は個別に差し引かれます。
QSizeF operator/(const QSizeF &size, qreal divisor)
指定されたsize を、指定されたdivisor で割り、その結果を返します。divisor は、0でもNaNでもあってはなりません。
QSizeF::scale()も参照してください 。
QDataStream &operator<<(QDataStream &stream, const QSizeF &size)
指定されたsize を指定されたstream に書き込み、そのストリームへの参照を返します。
「Qt データ型のシリアライズ」も参照してください 。
[constexpr noexcept] bool operator==(const QSizeF &lhs, const QSizeF &rhs)
lhs とrhs がおおよそ等しい場合は `true ` を返し、そうでない場合は `false` を返します。
警告: この関数は 厳密な等価性をチェックせず、代わりにファジー比較を用いてサイズ範囲を比較します。
qFuzzyCompareも参照してください 。
QDataStream &operator>>(QDataStream &stream, QSizeF &size)
指定されたstream からサイズを読み取り、指定されたsize に格納し、そのストリームへの参照を返します。
「Qtデータ型のシリアライズ」も参照してください 。
© 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.