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(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 より小さい(または等しい)場合にtrue を返し、isNull() 関数は、幅と高さの両方が 0 の場合にのみtrue を返す。

expandedTo() 関数を使用して、このサイズと指定されたサイズの最大の高さと幅を保持するサイズを取得する。同様に、boundedTo() 関数は、このサイズと与えられたサイズの最小の高さと幅を保持するサイズを返します。

QSizeF クラスにはtoSize() 関数もあります。この関数は、幅と高さを最も近い整数に丸めて作成した、このサイズのQSize コピーを返します。

QSizeF オブジェクトは、比較だけでなくストリームすることもできます。

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()

無効なサイズを構築します。

isValid()も参照

[constexpr noexcept] QSizeF::QSizeF(const QSize &size)

与えられたsize から浮動小数点精度のサイズを構築する。

toSize() およびQSize::toSizeF()も参照

[constexpr noexcept] QSizeF::QSizeF(qreal width, qreal height)

与えられた有限のwidthheight でサイズを構築する。

[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 からQRectF を作成する。

toCGSize()も参照

[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)

与えられたwidthheight を持つ矩形に、指定されたmode に従ってサイズをスケーリングします。

  • modeQt::IgnoreAspectRatio の場合、サイズは (width,height) に設定される。
  • modeQt::KeepAspectRatio の場合,現在のサイズは,縦横比を保ったまま, (width,height) 内のできるだけ大きな矩形に拡大縮小されます。
  • modeQt::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

与えられたwidthheight を持つ矩形に、指定されたmode に従ってスケーリングされたサイズを返します。

scale()も参照

[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

幅を返す。

height() およびsetWidth()も参照

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

これはオーバーロードされた関数です。

幅と高さの両方を、与えられた有限のfactor で乗算し、そのサイズへの参照を返します。

scale()も参照

[constexpr noexcept] QSizeF &QSizeF::operator+=(const QSizeF &size)

与えられたsize をこのサイズに追加し、このサイズへの参照を返します。例えば

QSizeF s( 3, 7);
QSizeF r(-1, 4);
s += r;

// s becomes (2,11)

[constexpr noexcept] QSizeF &QSizeF::operator-=(const QSizeF &size)

このサイズから与えられたsize を引き、このサイズへの参照を返す。例えば

QSizeF s( 3, 7);
QSizeF r(-1, 4);
s -= r;

// s becomes (4,3)

QSizeF &QSizeF::operator/=(qreal divisor)

これはオーバーロードされた関数です。

幅と高さの両方を与えられたdivisor で割り、サイズへの参照を返す。divisor はゼロまたは NaN であってはならない。

scale()も参照

関連する非会員

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

サイズlhs がサイズrhs とほぼ等しい場合はtrue を返し、そうでない場合はfalse を返す。

幅と高さがほぼ等しい場合、サイズはほぼ等しいとみなされます。

この関数は Qt 6.8 で導入されました。

[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QSizeF &size)

sizesize の幅と高さの両方がほぼゼロに等しい場合、true を返します。

この関数は Qt 6.8 で導入されました。

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

lhsrhs が十分に異なる場合は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)

s1s2 の合計を返す。各コンポーネントは別々に加算される。

[constexpr noexcept] QSizeF operator-(const QSizeF &s1, const QSizeF &s2)

s1 からs2 を差し引いた値を返す。

QSizeF operator/(const QSizeF &size, qreal divisor)

これはオーバーロードされた関数である。

与えられたsize を与えられたdivisor で割り、その結果を返す。divisor はゼロまたは NaN であってはならない。

QSizeF::scale()も参照のこと

QDataStream &operator<<(QDataStream &stream, const QSizeF &size)

与えられたstream に与えられたsize を書き込み、ストリームへの参照を返します。

Qt データ型のシリアライズも参照してください

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

lhsrhs がほぼ等しい場合はtrue を返し、そうでない場合は false を返す。

警告 この関数は、厳密に等しいかどうかをチェックしません。その代わりに、ファジー比較を使用して、サイズの長さを比較します。

qFuzzyCompareも参照

QDataStream &operator>>(QDataStream &stream, QSizeF &size)

与えられたstream から与えられたsize にサイズを読み込み、ストリームへの参照を返します。

Qt データ型のシリアライズも参照してください

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